【发布时间】:2014-04-07 19:53:35
【问题描述】:
我正在尝试直接通过 PDO 执行查询,尽管我使用 Propel 作为我的 ORM。问题是查询总是返回 0 条记录。我不确定会发生什么,因为它昨晚运行得非常好,然后当我今天早上起床开始我的项目时,我一直在处理这个特殊问题。
起初,我试图返回一个带参数的 JOIN 查询,我知道有符合条件的记录。然后大约一个小时后认为这是我的参数等,我转而使用一个非常简单的 select 语句。
php代码:
$sql = "SELECT * FROM league;";
$con = Propel::getConnection();
$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $con->prepare($sql);
$rows = $stmt->fetchAll();
我已尝试以相同的结果查询数据库中的所有表。可能是什么问题呢?我已经在 phpMyAdmin 和 MySQLWorkbench 中尝试过查询。
一天半之后,我无法弄清楚问题出在哪里。希望有人能帮忙。
谢谢。
【问题讨论】:
-
;查询中的分号可能导致问题 -
你也忘记在
fetchAll()之前打电话给execute() -
天啊!精神近视万岁!我不敢相信我错过了。挺尴尬的。谢谢,猴子。
-
只是快速跟进。 “setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION)” 不应该通过在执行前调用 fetchAll() 来排除吗?只是好奇。再次感谢。
-
是的,我想,但我没有看到你的异常处理,所以我不知道
what you expectedvswhat you received