これは、プリペアドステートメントを使用する1つの例です。 本当に面倒なことはありません。
MySQLでは、null値を挿入するには、INSERT
で指定する必要があります 時間を取るか、追加の分岐が必要なフィールドを除外します:
INSERT INTO table2 (f1, f2)
VALUES ('String Value', NULL);
ただし、そのフィールドに値を挿入する場合は、コードを分岐して一重引用符を追加する必要があります。
INSERT INTO table2 (f1, f2)
VALUES ('String Value', 'String Value');
プリペアドステートメントは自動的にそれを行います。彼らはstring(0) ""
の違いを知っています およびnull
クエリを適切に記述します:
$stmt = $mysqli->prepare("INSERT INTO table2 (f1, f2) VALUES (?, ?)");
$stmt->bind_param('ss', $field1, $field2);
$field1 = "String Value";
$field2 = null;
$stmt->execute();
それはあなたのためにあなたのフィールドをエスケープし、あなたがパラメータをバインドすることを忘れないようにします。 mysql
にとどまる理由はありません 拡大。 mysqli
を使用する そして、それはプリペアドステートメント
です。 代わりは。あなたは自分自身を苦痛の世界から救うでしょう。