空で(フォーム入力後に)データベースを更新すると、変数をNULLに設定しようとしていますが、instedフィールドにNULLを0として入れ続けます。 (フィールドは整数/ NULLに設定されています)私も$ eloleg = "NULL"を試しましたが、どちらもうまくいきませんでした。変数を使用してmysqlの値をNULLに設定する方法は?
if (!empty($_POST["eloleg"])) {
$eloleg = mysql_real_escape_string($_POST["eloleg"]);
}
else {
$eloleg = NULL;
}
mysqli_query($connection, "UPDATE $table SET eloleg='$eloleg' WHERE date='$eredeti_date'");
パラメータバインディングを使用します。それ以外の場合は、SQLインジェクションが可能です。ヌル値は引用符で囲まれませんが、バインディングによってそれが処理されます。 – aynber
dbスキーマとは何ですか?NULL値を受け入れますか?さらに重要な点は、MySQL APIを混在させていることです。どのAPIを使用して接続するのか分かりません。 –
**警告**:mysqliを使用する場合、[パラメータ化されたクエリ](http://php.net/manual/en/mysqli.quickstart.prepared-statements.php)と['bind_param']( http://php.net/manual/en/mysqli-stmt.bind-param.php)を使用してクエリにユーザーデータを追加します。 **重大な[SQLインジェクションのバグ](http://bobby-tables.com/)を作成したため、文字列の補間または連結を使用してこれを実行しないでください。 ** '$ _POST'や' $ _GET'データを直接クエリに入れないでください。誰かがあなたのミスを悪用しようとすると、非常に危険です。 – tadman