php pdo 语句没有更新表?

标签 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();

最佳答案

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

您使用哪个数据库(和 ISAM 引擎)?

编辑

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

在您的情况下,如果您的密码包含一些“二进制”字符,where 将不匹配,因此不会更新。

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

关于php pdo 语句没有更新表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11273365/

相关文章:

php - mysqli 或 PDO - 优缺点是什么?

php - Netbeans 配色方案

php - 将数组值存储在单独的行中

php - 在PHP mysql中将状态从未解决标记为已解决

php - 不将数据插入 wp_users 表中的自定义字段

sql - 从 MySQL 表中检索和输入所有 "type",但仅检索每个 "type"的最新条目

php - 无法在我的数据库表中插入时间戳值

php - Pdo select语句不显示数据库中的数据

php - 使用正则表达式排除 mysql 查询的结果

javascript - 按钮在 Pjax Reload 上不起作用