質問

これは私を困惑させます。 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'
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top