我遇到了一个奇怪的问题,当我在我的网站上运行它时,我的查询不返回任何东西,但是当我在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行。
知道为什么我不工作在我的网站吗?
谢谢!
您需要转义查询中的字符串以引用PHP变量:
$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");