Pemasukan Nilai Null dalam PHP/MySQL
Apabila mengimport data dari satu jadual MySQL ke yang lain, memasukkan nilai nol boleh menjadi masalah. Jika nilai tatasusunan adalah nol dan medan pangkalan data yang sepadan membenarkan nilai nol, sisipan mungkin gagal.
Pertanyaan Asal dengan Isu
<code class="php">$results = mysql_query("select * from mytable"); while ($row = mysql_fetch_assoc($results)) { mysql_query("insert into table2 (f1, f2) values ('{$row['string_field']}', {$row['null_field']}); }</code>
Penyelesaian: Menggunakan Penyata Disediakan
Penyata yang disediakan menawarkan penyelesaian yang mudah untuk memasukkan nilai nol. MySQL membezakan antara rentetan kosong (''") dan nilai nol, jadi apabila menggunakan pertanyaan SQL mentah, semakan dan petikan nol eksplisit diperlukan.
Walau bagaimanapun, dengan pernyataan yang disediakan, MySQL secara automatik mengendalikan perbezaan ini, memastikan bahawa batal nilai dimasukkan dengan betul, tanpa mengira jenis data PHP.
<code class="php">$stmt = $mysqli->prepare("INSERT INTO table2 (f1, f2) VALUES (?, ?)"); $stmt->bind_param('ss', $field1, $field2); $field1 = "String Value"; $field2 = null; // Null value will be inserted as is $stmt->execute();</code>
Kelebihan Penyata Disediakan
Oleh itu, untuk memasukkan nilai nol dalam PHP/ MySQL, menggunakan pernyataan yang disediakan sangat disyorkan Ia memudahkan kod anda, memastikan ketepatan dan memberikan faedah keselamatan dan prestasi tambahan.
Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Nilai Null ke dalam MySQL Menggunakan Penyata Disediakan dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!