Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Menggunakan Pernyataan Disediakan dengan INSERT INTO dengan betul dalam PHP?

Bagaimanakah Saya Boleh Menggunakan Pernyataan Disediakan dengan INSERT INTO dengan betul dalam PHP?

Patricia Arquette
Lepaskan: 2024-12-02 11:24:12
asal
717 orang telah melayarinya

How Can I Properly Use Prepared Statements with INSERT INTO in PHP?

Menggabungkan Penyata Disediakan dengan INSERT INTO

Setelah merentasi kedalaman labirin PHP: Data Objects, teka-teki yang membingungkan timbul apabila cuba melaksanakan MySQL pertanyaan menggunakan pernyataan yang disediakan, khusus untuk operasi INSERT INTO. Pertimbangkan coretan kod berikut:

$statement = $link->prepare("INSERT INTO testtable(name, lastname, age)
        VALUES('Bob','Desaunois','18')");

$statement->execute();
Salin selepas log masuk

Walaupun mematuhi kaedah yang ditetapkan, pangkalan data tetap terpencil. Marilah kita meneroka elemen yang hilang yang telah menghalang kemajuan kita.

Kunci untuk membuka kunci potensi pernyataan yang disediakan untuk pertanyaan INSERT INTO terletak pada pengikatan parameter, teknik yang membolehkan penyepaduan nilai yang selamat dan dinamik ke dalam pernyataan SQL. Ini dicapai dengan memasukkan ruang letak ke dalam pertanyaan dan seterusnya memberikan nilai yang sepadan sebagai tatasusunan bersekutu semasa pelaksanaan.

Perhatikan kod yang disemak:

$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

Perhatikan kehadiran nama parameter, ' :fname', ':sname' dan ':age', dalam pertanyaan. Ini berfungsi sebagai pemegang tempat untuk nilai sebenar, yang kemudiannya disediakan sebagai tatasusunan bersekutu dalam fungsi execute().

Secara bergantian, anda boleh menggunakan '?' sintaks sebagai ruang letak dan lulus tatasusunan nilai tanpa menyatakan nama parameter:

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

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

Kedua-dua pendekatan menawarkan kelebihan dan kelemahan masing-masing. Menggunakan parameter bernama meningkatkan kebolehbacaan, manakala '?' sintaks memudahkan proses mengikat nilai. Walau bagaimanapun, akhirnya, pilihan antara kedua-duanya adalah soal keutamaan peribadi.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Pernyataan Disediakan dengan INSERT INTO dengan betul dalam PHP?. 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