Php PDO:更新不起作用,没有错误

Php PDO:更新不起作用,没有错误,php,mysql,sql,wordpress,pdo,Php,Mysql,Sql,Wordpress,Pdo,是时候来点神秘了: 我得到了这个问题: $stmt = 'update wp_term_relationships set term_taxonomy_id = :newID '. 'where term_taxonomy_id= :oldID and object_id = :postID'; self::$stmtSetNewID = self::$dataBase->prepareStatement($stmt); [...] self::$stmtSetNewID-

是时候来点神秘了: 我得到了这个问题:

$stmt = 'update wp_term_relationships set term_taxonomy_id = :newID '.
        'where term_taxonomy_id= :oldID and object_id = :postID';
self::$stmtSetNewID = self::$dataBase->prepareStatement($stmt);
[...]
self::$stmtSetNewID->bindParam(':oldID', $oldCatID, PDO::PARAM_INT);
self::$stmtSetNewID->bindParam(':newID', $newCatID, PDO::PARAM_INT);
self::$stmtSetNewID->bindParam(':postID', $postID, PDO::PARAM_INT);
$result = self::$stmtSetNewID->execute();
$rowCount = self::$stmtSetNewID->rowCount();
echo $rowCount;
我尝试设置错误级别

$this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
并输出一个可能的错误

var_dump(self::$stmtSetNewID->errorInfo());
并输出受影响行的计数(在上面代码的末尾)。 没有错误,没有警告,什么都没有
rowCount()
返回1,但数据库中的值保持不变

对我来说,PDO/数据库似乎表示一切正常,但它没有

我非常沮丧,希望得到每一个暗示!谢谢大家!

更新:

echo "\nPostID: $postID | oldID: $oldCatID ".
     "| newID: $newCatID | rowCount: $rowCount\n<br/>\n";

好了,伙计们,明白了。对不起,把你的时间浪费在我的愚蠢上了。正如脚本所说,执行更新时没有出现错误。但之后我在脚本中更新了帖子,这次更新覆盖了我的新设置类别

您确定查询没有更新吗?可能它更新时使用了相同的值。@Mihai很遗憾,我确定,请参阅post更新。postID是否与预期行匹配?尝试删除旧ID匹配的检查。可能这不是必需的。@Anthony当我使用phpMyAdmin中输出的值执行查询时,一切都正常。所以,是的,它确实匹配。否则它不会告诉我行数为1,对吗?基本调试硬代码变量
PostID: 5432 | oldID: 3 | newID: 32 | rowCount: 1
PostID: 5435 | oldID: 3 | newID: 8 | rowCount: 1