【发布时间】:2013-03-02 00:01:38
【问题描述】:
我遇到了一个奇怪的问题,当我在我的网站上运行它时,我的查询没有返回任何内容,但是当我在 phpMyAdmin 中运行它时它返回 1 行。
$query = $this->db->query("SELECT post_date, post_id, ref_user_id FROM forum_posts WHERE post_id = (SELECT MAX(post_id) FROM forum_posts WHERE ref_post_id = $row->ref_post_id AND NOT deleted = 1 LIMIT 1) LIMIT 1");
echo $this->db->last_query().'<br>';
echo $query->num_rows();
num_rows() 给我 0。我复制 last_query() 给我的代码行并将其粘贴到 phpMyAdmin 中,它返回 1 行。
任何想法为什么我不在我的网站上工作?
谢谢!
【问题讨论】:
-
您应该检查您的数据库连接设置。可能是你连接到了错误的数据库。
-
@stigok 不,之前执行的其他查询工作正常。
-
你确定你的 SQL 字符串中的变量正在评估你的结果吗?试试
print_r("SELECT post_date, post_id, ref_user_id FROM forum_posts WHERE post_id = (SELECT MAX(post_id) FROM forum_posts WHERE ref_post_id = $row->ref_post_id AND NOT deleted = 1 LIMIT 1) LIMIT 1")看看会发生什么...... -
@prodigitalson 得到和last_query()一样的东西
-
不得不问,如果有 2 个以上的环境,它们是否都在以适当的权限查看同一个数据库?
标签: php sql codeigniter