MySQL查询将字段设置为0而不是空字符串

Dis*_*oat 1 php mysql pdo prepared-statement

这个让我很困惑.我有一个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();
Run Code Online (Sandbox Code Playgroud)

由于acode某种原因,该字段设置为0.它创建于

`acode` varchar(8) NOT NULL
Run Code Online (Sandbox Code Playgroud)

在使用预准备语句时,我需要做些什么特别的事情吗?

Fri*_*z H 8

Gidday,

这部分查询出现问题:

SET acode='' AND status='active'
Run Code Online (Sandbox Code Playgroud)

AND将其转换为''AND status ='active'的布尔检查,其值为0.将查询更改为:

SET acode='', status='active'
Run Code Online (Sandbox Code Playgroud)