PHP:While循环保存数组中的最后一个值
我正在从数据库中获取数据并将其保存在数组中,如下所示PHP:While循环保存数组中的最后一个值,php,mysql,arrays,Php,Mysql,Arrays,我正在从数据库中获取数据并将其保存在数组中,如下所示 $messages = mysqli_query($connect, 'SELECT DISTINCT subjectid, message , time, status FROM `chat` WHERE userid='. $userid); while ($row =mysqli_fetch_array($messages)) { $data['message']= $
$messages = mysqli_query($connect, 'SELECT DISTINCT subjectid, message , time, status FROM `chat` WHERE userid='. $userid);
while ($row =mysqli_fetch_array($messages)) {
$data['message']= $row['message'];
$data['time']= $row['time'];
$data['status']= $row['status'];
}
<pre>Array
(
[message] => some message
[time] => 1512132743
[status] => unseen
)
</pre>
问题是它只保存数组中的最后一条记录。请帮我解决这个问题。这就是我得到的
数组
(
[消息]=>一些消息
[时间]=>1512132743
[状态]=>不可见
)
将其放入2d数组中
每次都会覆盖该值。尝试使用多维数组。了解数组注意:
mysqli
的面向对象接口明显不那么冗长,使代码更易于阅读和审核,并且不容易与过时的mysql\u query
接口混淆。在你对程序性风格投入太多之前,值得换一种。示例:$db=new mysqli(…)
和$db->prepare(“…”)
过程接口是PHP 4时代引入mysqli
API时的产物,不应在新代码中使用。警告:使用mysqli
时,应使用并将用户数据添加到查询中。不要使用字符串插值或串联来完成此操作,因为您已经创建了严重的错误。永远不要将$\u POST
、$\u GET
或任何用户数据直接放入查询中,如果有人试图利用您的错误,这可能非常有害。重新创建该数组真的没有什么意义,$data[]=$row
应该很好…@deceze-true,但我认为这对这样的操作更有帮助!
$messages = mysqli_query($connect, 'SELECT DISTINCT subjectid, message , time, status FROM `chat` WHERE userid='. $userid);
while ($row =mysqli_fetch_array($messages)) {
$data[] = array(
'message'=> $row['message'],
'time'=> $row['time'],
'status'=> $row['status']
);
}