这个令我困惑的是。我有一个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
使用预准备语句时,我需要做些什么特别的事情吗?
答案 0 :(得分:8)
Gidday,
问题出现在这部分问题中:
SET acode='' AND status='active'
AND将其转换为''AND status ='active'的布尔检查,其结果为0.将查询更改为:
SET acode='', status='active'