私はこれについて非常に古い記事を読んできましたが、すべてを試しましたが、問題。..ポストデータにCOALESCE()を使用して入力が与えられている場合のみPHP SQL UPDATE
私はテーブルレコードを更新するためのフォームがあります。しかし、名前が入力されていない場合は、元の名前は更新されず、空の文字列で置き換えられます。
私はCOALESCE()を使用しようとしましたが、私のPHPコードからNULL値として何も認識しません。
私は引用符「」その後、私はSQLエラーが発生しますが、私がしなければ、それがヌルとして認識されていないと入れない場合..私はでSSHおよびMySQLと種類を実行する場合、たとえば
..
select coalesce( ''、 'test');
MySQLは、文字列ではなく空の文字列を表示します。ヌルはちょうど代わりに何を通過しないので
ちょうどカントはここ
...過去の引用符問題なくポスト変数でクエリを実行得るように見えるが、私のコードは、このdoesntの仕事は...
/* Original query that replaces with empty input feilds...
$update = "UPDATE KIT202_product SET Name='". $_POST['name']
. "', Price='". $_POST['price']
. "', Description='". $_POST['desc']
. "' WHERE ID=". $_POST['id'];
*/
//What I ended up trying but still doesn't work :(...
$name=NULL;
if (!empty($_POST['name'])) $name="'". $_POST['name']. "'";
$price=NULL;
if (!empty($_POST['price'])) $price="'". $_POST['price']. "'";
$desc=NULL;
if (!empty($_POST['desc'])) $desc="'". $_POST['desc']. "'";
ですNULLなので、1つの値だけを使用して結合を実行するのが好きです。
更新ステートメントを発行しているコードの部分を表示できますか? –