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

Mengapa Penyata Disediakan PDO Saya Tidak MASUKKAN KE DALAM MySQL?

Susan Sarandon
Lepaskan: 2024-11-25 00:48:11
asal
311 orang telah melayarinya

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();
Salin selepas log masuk

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',
]);
Salin selepas log masuk

Kod Contoh dengan Parameter Indeks

$statement = $link->prepare('INSERT INTO testtable (name, lastname, age)
    VALUES (?, ?, ?)');

$statement->execute(['Bob', 'Desaunois', '18']);
Salin selepas log masuk

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!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan