gpt4 book ai didi

php - PDO 准备语句不更新表

转载 作者:行者123 更新时间:2023-11-29 09:18:33 26 4
gpt4 key购买 nike

我正在开发一个基于PDO的ORM,对于没有唯一ID字段的表,因此当我更新或删除时,我需要与记录的先前值进行比较,并且LIMIT 1.

当我的查询最终到达数据库并使用参数执行时,一切都是正确的,正如一般查询日志所确认的那样,但是,什么也没有发生

我没有抛出任何异常(PDO::ERRMODE_EXCEPTION 已打开),并且检查 $stmt->errorInfo() 返回干净,但是 $stmt ->rowCount() 返回 0

作为健全性检查,我打开日志文件,将 UPDATE 查询复制并粘贴到 Sequel Pro(OSX MySQL GUI)中并执行,一切都按预期工作,更新了 1 行。

为什么当手动执行IDENTICAL查询时,PDO 不更新行?

最佳答案

问题是我的代码使用

生成了一个查询
WHERE `FieldName` = NULL

本该如此的时候

WHERE `FieldName` IS NULL

当由PDO执行时,它保留了= NULL,导致没有记录匹配,但是当MySQL记录它时,它记录了IS NULL,所以当我复制时/粘贴,查询正确并更新了该行。

关于php - PDO 准备语句不更新表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3133327/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com