Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa Penyata Disediakan PDO Saya Tidak MASUKKAN KE DALAM MySQL?

Mengapa Penyata Disediakan PDO Saya Tidak MASUKKAN KE DALAM MySQL?

Susan Sarandon
Susan Sarandonasal
2024-11-25 00:48:11239semak imbas

Why Doesn't My PDO Prepared Statement INSERT INTO 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:

  1. Gunakan ruang letak parameter (:foo atau ?) dalam pernyataan SQL.
  2. Bina tatasusunan bersekutu atau tatasusunan diindeks yang mengandungi nilai untuk diikat.
  3. Gunakan fungsi execute() untuk menghantar tatasusunan sebagai argumen, mengikat nilai kepada pemegang tempat.

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!

Kenyataan:
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