我正在尝试使用以下代码更新表,但始终将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();
答案 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)以避免任何问题。
在您的情况下,如果您的密码包含某些“二进制”字符其中将不匹配,则不会更新。
只需删除旧密码条件即可验证我的假设。