Rumah > Artikel > pembangunan bahagian belakang > Mengapa Penyata Disediakan PDO Saya Tidak MASUKKAN KE DALAM MySQL?
MYSQL INSERT IN TO Queries with PDO Prepared Statements
Dalam bidang pembangunan PHP, menggunakan PDO untuk melaksanakan pertanyaan MySQL menawarkan banyak kelebihan. Walau bagaimanapun, pemula sering menghadapi halangan semasa cuba menggunakan pernyataan yang disediakan untuk operasi INSERT INTO.
Mari kita pertimbangkan coretan kod yang membingungkan ini:
$statement = $link->prepare("INSERT INTO testtable(name, lastname, age) VALUES('Bob','Desaunois','18')"); $statement->execute();
Walaupun usaha gigih pengekod, pangkalan data kekal kosong yang menyedihkan. Apakah ralat sukar difahami yang tersembunyi dalam kod?
Kunci Tersembunyi Kejayaan
Kunci untuk merungkai enigma ini terletak pada pemahaman kuasa pengikatan parameter. Penyata yang disediakan oleh PDO membolehkan pembangun mengikat nilai dengan selamat kepada pemegang tempat dalam pertanyaan SQL mereka tanpa menggunakan penggabungan. Untuk mencapai matlamat ini, langkah berikut hendaklah diikuti dengan teliti:
Kod Contoh dengan Parameter Ikatan
$statement = $link->prepare('INSERT INTO testtable (name, lastname, age) VALUES (:fname, :sname, :age)'); $statement->execute([ 'fname' => 'Bob', 'sname' => 'Desaunois', 'age' => '18', ]);
Kod Contoh dengan Parameter Indeks
$statement = $link->prepare('INSERT INTO testtable (name, lastname, age) VALUES (?, ?, ?)'); $statement->execute(['Bob', 'Desaunois', '18']);
Kelebihan dan Keutamaan
Kedua-dua kaedah pengikatan parameter menawarkan kelebihan dan kekurangan mereka sendiri. Pengikatan mengikut nama parameter menyediakan peningkatan kebolehbacaan, manakala pengikatan mengikut indeks membolehkan pengurangan kod. Pilihan akhirnya bergantung pada keutamaan pembangun.
Memeluk prinsip ini akan memperkasakan pembangun untuk melaksanakan operasi INSERT INTO dengan mudah menggunakan pernyataan yang disediakan PDO, memastikan data mereka mendapat tempat yang betul dalam pangkalan data.
Atas ialah kandungan terperinci Mengapa Penyata Disediakan PDO Saya Tidak MASUKKAN KE DALAM MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!