php pdo语句没有更新表?

时间:2012-06-30 10:28:03

标签: php mysql pdo

我正在尝试使用以下代码更新表,但始终将rowcount更改为0,并且表格未更新。当我使用phpmyadmin时,相同的查询会更新表。

$query="UPDATE userprofile SET password=:newpassword WHERE userid=:userid AND password=:oldpassword";
$queryprepare=parent::getPreparedQuery($query);
$queryprepare->bindParam(':newpassword',$newpassword);
$queryprepare->bindParam(':userid',$userid);
$queryprepare->bindParam(':oldpassword',$oldpassword);
$queryprepare->execute();

1 个答案:

答案 0 :(得分:0)

我不是PDO的专家,但通常没有表格修改的UPDATE取决于缺少提交

您使用哪个DB(和ISAM引擎)?

修改

查看PDO手册我发现了post of nils andre with my googelian maily accou:关于连接的正确编码。 我通常使用相同的enconding(通常是UTF-8)设置所有链(html-page,db-connection,db-column-type)以避免任何问题。

在您的情况下,如果您的密码包含某些“二进制”字符其中将不匹配,则不会更新。

只需删除旧密码条件即可验证我的假设。