MySQLクエリは、フィールドを空の文字列ではなく0に設定します
-
05-07-2019 - |
質問
これは私を困惑させます。 MySQLクエリがあり、PDOで実行されています:
$stmt = $db->prepare( "UPDATE member SET acode='' AND status='active' WHERE username=:u" );
$stmt->bindValue( ':u', $member->username, PDO::PARAM_STR );
$stmt->execute();
acode
フィールドは、何らかの理由で0に設定されます。で作成された
`acode` varchar(8) NOT NULL
準備されたステートメントを使用するときに行う必要がある特別なことはありますか?
解決
Gidday、
クエリのこの部分には問題があります:
SET acode='' AND status='active'
ANDは、これを '' AND status = 'active'のブールチェックに変換し、0に評価されます。クエリを次のように変更します。
SET acode='', status='active'
所属していません StackOverflow