我正在使用Codeigntier来运行这样的查询:
$query = $this->db->query("SELECT users.*, user_profiles.* FROM users, user_profiles WHERE " . "users.id = $user_id AND user_profiles.user_id = $user_id");
$row = $query->row();
我已经放置了一个echo来获取最后一个查询$this->db->last_query()
。显示:
SELECT users.*, user_profiles.* FROM users, user_profiles WHERE users.id = 6850 AND user_profiles.user_id = 6850
它返回的结果是:
object(stdClass)[24]
public 'id' => string '6849' (length=4)
结果显示的ID为6849
。我几乎掉下了椅子!我在我的MySQL数据库上运行了相同的查询,并且为同一个查询返回的id为6850
。 6850是正确的ID。
我不知道如何调试它,因为这是最简单的查询。任何帮助表示赞赏。
答案 0 :(得分:4)
明确选择列,AS *something*
别名。然后检查ID。
可能会显示表user_profiles
的ID,而不是您希望未指定列的users
表中的实际用户ID。