私はこのようなテーブルを持っています
CREATE TABLE test(a int, b int);
テーブルへの値は動的入力から挿入されます
$ a、$ b(PHP変数)
$query = "UPDATE test set a=$a where b = $b";
pg_query($db, $query);
これは、$ aが空の場合(つまり、ユーザーがテーブルのフォームフィールドに値を入力しない場合)は機能しません。これを回避するにはどうすればよいですか?
私はこのようなテーブルを持っています
CREATE TABLE test(a int, b int);
テーブルへの値は動的入力から挿入されます
$ a、$ b(PHP変数)
$query = "UPDATE test set a=$a where b = $b";
pg_query($db, $query);
これは、$ aが空の場合(つまり、ユーザーがテーブルのフォームフィールドに値を入力しない場合)は機能しません。これを回避するにはどうすればよいですか?
が空かどうかをテストし、$a
空である場合は null に設定します。
$a = ($a == '') ? 'NULL' : "'$a'";
$query = "UPDATE test set a=$a where b='$b'";
値を引用することを忘れないでください$b
。引用するまで、ここでエラーが返されていました。
null でない場合は上記のチェックに引用符を追加し$a
たので、$a が NULL (空)、整数、または文字列のいずれかである場合に機能するようになりました。
$a が空の場合、次の$query
ようになります。
UPDATE test SET a= where b = whatever
NULL
クエリ文字列に明示的に追加する必要があります。
UPDATE test SET a=NULL where b = whatever