Rumah > pembangunan bahagian belakang > masalah PHP > Bagaimana untuk melaksanakan pertanyaan berparameter php pdo

Bagaimana untuk melaksanakan pertanyaan berparameter php pdo

藏色散人
Lepaskan: 2023-03-12 19:16:02
asal
2135 orang telah melayarinya

Dalam PHP, anda boleh menggunakan kaedah penyediaan untuk melaksanakan pertanyaan berparameter PDO Kaedah ini akan mengembalikan objek PDOStatement, menggunakan sintaks seperti "prepare('SELECT login_oid FROM log in WHERE user_id=...".

Bagaimana untuk melaksanakan pertanyaan berparameter php pdo

Persekitaran pengendalian artikel ini: sistem Windows 7, PHP7.1, komputer Dell G3

Cara melaksanakan php pdo pertanyaan berparameter?

Pertanyaan berparameter PDO prepare() php menghalang suntikan SQL

Pertanyaan berparameter dalam PDO terutamanya menggunakan kaedah prepare(), dan kemudian kaedah ini akan mengembalikan objek PDOStatement, yang merupakan pernyataan SQL (tidak tahu bagaimana untuk menterjemah), pada masa ini pernyataan SQL hanya disusun, tetapi tidak dilaksanakan Selepas memanggil kaedah dalam PDOStatement, pernyataan SQL akan dilaksanakan, seperti dalam contoh berikut:

$sm = $db->prepare('SELECT login_oid FROM logined WHERE user_id=:user_id;');
$sm->bindValue(':user_id', $user_id, PDO::PARAM_INT);
$sm -> execute();
Salin selepas log masuk

Sebelum execute() dilaksanakan, anda boleh memanggil Kaedah bindValue() atau bindParam() menggantikan parameter yang anda nyatakan dalam pernyataan SQL yang disediakan sebelum ini Terdapat dua cara untuk menentukan parameter dalam pernyataan SQL: ' :name' dan '?'. Yang pertama digunakan dalam kod di atas Kaedah yang terakhir ialah:

$sm = $db->prepare(&#39;SELECT * FROM fruit WHERE calories < ?;&#39;);
$sm->bindValue(1, $calories, PDO::PARAM_INT);
$sm->execute();
Salin selepas log masuk

bindValue() yang pertama menentukan parameter mana dalam pernyataan SQL untuk diganti, yang kedua menentukan nilai yang diganti, dan yang ketiga menentukan parameter mana dalam pernyataan SQL yang akan digantikan. Jenis nilai yang ditentukan, jenis surat-menyurat adalah seperti berikut:

PDO::PARAM_BOOL
Salin selepas log masuk
<🎜. >Jenis Boolean

PDO::PARAM_NULL
Salin selepas log masuk
Jenis NULL

PDO::PARAM_INT
Salin selepas log masuk
Jenis integer

PDO::PARAM_STR
Salin selepas log masuk
Jenis rentetan seperti CHAR, VARCHAR, rentetan

PDO::PARAM_LOB
Salin selepas log masuk
Sumberkan objek besar, seperti fail, dll.

PDO::PARAM_STMT
Salin selepas log masuk
Saya tidak tahu

PDO::PARAM_INPUT_OUTPUT
Salin selepas log masuk
Ini nampaknya Ia adalah jenis lanjutan

yang tidak menyediakan jenis nombor sebenar, yang sangat mengejutkan

Mari kita bercakap tentang kaedah execute() Ia juga boleh melakukan penggantian parameter, tetapi ia akan mengubah jenis semua nilai. seperti berikut

$sm = $db->prepare(&#39;SELECT * FROM fruit WHERE calories < ?;&#39;);
$sm->execute(array($calories));
Salin selepas log masuk
Penggantian berbilang parameter adalah seperti berikut

$sm = $db->prepare(&#39;SELECT * FROM fruit WHERE calories < ?, id < ?;&#39;);
$sm->execute(array($calories, $user_id));
Salin selepas log masuk
Pembelajaran yang disyorkan: "

Tutorial Video PHP"

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pertanyaan berparameter php pdo. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan