【发布时间】:2012-02-09 13:48:53
【问题描述】:
我的 mysqli 结果集有问题。我有一个包含一堆消息的表。每个表格行代表一条消息。我有几列,如 ID、标题、正文和“公共”。公共列包含布尔值,指定消息是显示给所有人,还是只显示给发布它的人。我有一个页面,我想在其中显示所有公共消息,如果您单击一条消息,您将获得一个包含单个消息和一些额外选项的页面。为此,我想将 mysqli 查询的结果加载到二维数组中。这意味着一组消息,每条消息本身都是一个数组,以 ID、标题、正文等为列。
所以我从以下代码开始。 '$link' 变量包含 mysqli 连接(witch 工作正常)。
$result = $link->query("SELECT * FROM messages WHERE public = '1'");
$array = $result->fetch_assoc();
print_r($array);
这只会产生一个一维数组,其中包含最新消息。所以我尝试了以下while循环:
$result = $link->query("SELECT * FROM messages WHERE public = '1'");
while($message = $result->fetch_assoc()){
$title = $message['title'];
$body = $message['body'];
# etc...
}
这以某种方式工作:它显示所有消息,但不将它们放入数组中(我想要根据 ID 执行任务的女巫,以及消息数组在包含数组中的位置。)有人知道如何将这种查询结果转换成漂亮的二维数组?或者一个完全不同的,漂亮的方式来解决这个问题?提前致谢。
PS。对不起我的英语,我不是母语人士。
【问题讨论】:
标签: php arrays mysqli resultset