Ini adalah salah satu contoh penggunaan pernyataan yang disiapkan benar-benar menghemat beberapa masalah.
Di MySQL, untuk memasukkan nilai null, Anda harus menentukannya di INSERT
waktu atau tinggalkan bidang yang membutuhkan percabangan tambahan:
INSERT INTO table2 (f1, f2)
VALUES ('String Value', NULL);
Namun, jika Anda ingin memasukkan nilai di bidang itu, Anda sekarang harus membuat cabang kode Anda untuk menambahkan tanda kutip tunggal:
INSERT INTO table2 (f1, f2)
VALUES ('String Value', 'String Value');
Pernyataan yang disiapkan secara otomatis melakukannya untuk Anda. Mereka tahu perbedaan antara string(0) ""
dan null
dan tulis kueri Anda dengan tepat:
$stmt = $mysqli->prepare("INSERT INTO table2 (f1, f2) VALUES (?, ?)");
$stmt->bind_param('ss', $field1, $field2);
$field1 = "String Value";
$field2 = null;
$stmt->execute();
Itu lolos dari bidang Anda untuk Anda, memastikan bahwa Anda tidak lupa untuk mengikat parameter. Tidak ada alasan untuk tetap menggunakan mysql
perpanjangan. Gunakan mysqli
dan pernyataan yang disiapkan
sebagai gantinya. Anda akan menyelamatkan diri Anda dari dunia kesakitan.