PDOStatement :: bindParam
PDOStatement :: bindParam - mengikat parameter untuk nama variabel yang ditentukan (PHP 5> = 5.1.0, PECL PDO> = 0.1.0)
penjelasan
tatabahasa
bool PDOStatement::bindParam ( mixed $parameter , mixed &$variable [, int $data_type = PDO::PARAM_STR [, int $length [, mixed $driver_options ]]] )
Mengikat variabel PHP untuk pernyataan SQL sebagai pretreatment sesuai bernama atau tanda tanya placeholder placeholder. Tidak seperti PDOStatement :: bindValue (), variabel ini terikat sebagai referensi, dan hanya :: mengeksekusi di PDOStatement () dipanggil ke mana nilai.
Sebagian besar parameter adalah parameter masukan, yaitu, parameter yang digunakan untuk membangun query read-only modus. Beberapa driver mendukung panggilan prosedur yang tersimpan dan data kembali sebagai parameter output, beberapa dukungan sebagai parameter input / output, mengirim dan menerima data setelah update.
parameter
parameter
identifier parameter. Untuk penggunaan penampung bernama pernyataan siap harus sama dengan: nama nama bentuk parameter. Untuk placeholder tanda tanya dalam pernyataan siap, itu harus didasarkan pada 1-diindeks parameter.
variabel
Terikat pada SQL parameter pernyataan PHP nama variabel.
data_type
Gunakan PDO :: PARAM_ * konstanta secara eksplisit menentukan jenis parameter. Dari prosedur yang tersimpan mengembalikan sebuah parameter INOUT, Anda perlu menggunakan bitwise OR operator untuk mengatur PDO :: PARAM_INPUT_OUTPUT sedikit parameter data_type.
panjangnya
Pre-dialokasikan tips.
driverdata
Panjang tipe data. Untuk menunjukkan parameter adalah parameter OUT dari prosedur yang tersimpan, Anda harus secara eksplisit mengatur panjang ini.
driver_options
Kembali Nilai
kembali sukses BENAR, atau pada kegagalan kembali FALSE.
contoh
Executive menggunakan pernyataan siap bernama placeholder
<?php /* 通过绑定的 PHP 变量执行一条预处理语句 */ $calories = 150; $colour = 'red'; $sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < :calories AND colour = :colour'); $sth->bindParam(':calories', $calories, PDO::PARAM_INT); $sth->bindParam(':colour', $colour, PDO::PARAM_STR, 12); $sth->execute(); ?>
Pelaksanaan tanda tanya tempat pada pernyataan siap
<?php /* 通过绑定的 PHP 变量执行一条预处理语句 */ $calories = 150; $colour = 'red'; $sth = $dbh->prepare('SELECT name, colour, calories FROM fruit WHERE calories < ? AND colour = ?'); $sth->bindParam(1, $calories, PDO::PARAM_INT); $sth->bindParam(2, $colour, PDO::PARAM_STR, 12); $sth->execute(); ?>
INOUT parameter menggunakan panggilan prosedur yang tersimpan
<?php /* 使用 INOUT 参数调用一个存储过程 */ $colour = 'red'; $sth = $dbh->prepare('CALL puree_fruit(?)'); $sth->bindParam(1, $colour, PDO::PARAM_STR|PDO::PARAM_INPUT_OUTPUT, 12); $sth->execute(); print("After pureeing fruit, the colour is: $colour"); ?>