2

我正在使用 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();

我放置了一个回声来获取最后一个查询$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。

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

4

1 回答 1

4

显式选择您的列,并AS *something*为它们设置别名。然后检查身份证。

可能显示的是表的 id,user_profiles而不是您期望的表中的实际用户 id,users因为您没有指定列。

于 2013-06-27T20:17:58.513 回答