Apabila memasukkan data ke dalam pangkalan data MySQL menggunakan PHP, anda mungkin menghadapi masalah apabila cuba memasukkan nilai nol. Secara lalai, PHP akan memasukkan rentetan kosong atau sifar untuk medan angka dan bukannya null jika nilai dalam tatasusunan anda mengandungi null.
Dalam contoh ini:
<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>
Jika $row[' null_field'] mengandungi null, ia akan dimasukkan sebagai 0 sebaliknya. Untuk menangani isu ini, anda boleh menggunakan pernyataan yang disediakan.
Pernyataan yang disediakan membolehkan anda menentukan nilai nol secara eksplisit dalam pertanyaan anda. Mereka juga mengendalikan melarikan diri dan mengikat secara automatik, mengurangkan risiko kelemahan suntikan.
Begini cara anda menggunakan pernyataan yang disediakan dengan MySQLi:
<code class="php">$stmt = $mysqli->prepare("INSERT INTO table2 (f1, f2) VALUES (?, ?)"); $stmt->bind_param('ss', $field1, $field2); $field1 = "String Value"; $field2 = null; $stmt->execute();</code>
Dalam contoh ini:
Jika $field2 adalah null, ia akan dimasukkan sebagai null dalam pangkalan data. Kaedah ini mengendalikan nilai nol dengan betul, memastikan ia tidak dianggap sebagai rentetan kosong atau nilai sifar.
Atas ialah kandungan terperinci Bagaimana untuk Memasukkan Nilai Null ke dalam Pangkalan Data MySQL Menggunakan PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!