【发布时间】:2015-02-04 18:38:15
【问题描述】:
我正在尝试从我的 phpmyadmin 数据库中获取聊天消息(其中有 2 条消息),但我的查询有问题。这里是:
$query = "SELECT * FROM chat WHERE (user_from='". $_SESSION['username'] ."' AND user_to='". $result['username'] ."') OR (user_from='". $result['username'] ."' AND user_to='". $_SESSION['username'] ."') ORDER BY id DESC";
$chatlog = $db->query($query);
$message = $chatlog->fetch_array(MYSQLI_ASSOC);
运行此代码时:echo $message['message'];
只显示第一条消息,我也尝试过使用 foreach,但这似乎也不起作用。
【问题讨论】:
-
将 ORDER BY id DESC 更改为 ASC 时,仅显示第二条消息
-
fetch_array只获取查询的一行(第一行)。您可能希望使用循环将所有行提取到数组中。或者,您可以使用fetch_allif your system supports it。 -
为了清楚起见:当我说“第一行”时,我仅指您的具体上下文。
fetch_array获取查询的 next 行,由结果指针的位置标识。在您的情况下,这是第一行。