MySQL查询将字段设置为0而不是空白字符串
问题描述:
这是一个令我困惑的问题。我有一个MySQL查询,正在运行虽然PDO:MySQL查询将字段设置为0而不是空白字符串
$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'
的,变身的“”和状态=“活跃”布尔检查,其结果为0这一点。将您的查询改为:
SET acode='', status='active'
D'oh!小学生的错误,不能相信我错过了... – DisgruntledGoat 2009-09-10 00:05:29
嘿,它发生了 - 很像我在参数表上做'UPDATE'并忘记'WHERE'子句的常见习惯! – 2009-09-10 00:10:56