简单选择查询中返回的行ID不正确

时间:2013-06-27 20:09:47

标签: php mysql codeigniter

我正在使用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。

我不知道如何调试它,因为这是最简单的查询。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:4)

明确选择列,AS *something*别名。然后检查ID。

可能会显示表user_profiles的ID,而不是您希望未指定列的users表中的实际用户ID。