About MySql and array for php



我有一个Mysql数据库表。它在每分钟内储存时间和温度。

time temp
00:00 27
00:01 27.1
00:02 27.1

我想把上面两个字段放到一个数组中。我尝试了以下代码,但它只打印出最后一行。里面出了什么问题?

$sql="SELECT * FROM `XXX` where date='".$today."' order by time DESC limit 10";
$sqlQ=mysql_query($sql);
while($rows=mysql_fetch_array($sqlQ)){
$arr=array($rows['time']=>$rows['tempOut']);
}
print_r($arr);

只需更换

$arr=array($rows['time']=>$rows['tempOut']);

带有

$arr[$rows['time']] = $rows['tempOut'];

while(...之前不需要$arr = array();

每次在循环中创建一个新的array实例,因此它只保存最后一行。

它将更像

$sql="SELECT * FROM `XXX` where date='".$today."' order by time DESC limit 10";
$sqlQ=mysql_query($sql);
$arr = array();
while($rows=mysql_fetch_array($sqlQ)){
$arr[$rows['time']] = $rows['tempOut'];
}
print_r($arr);

注意:mysql扩展不推荐使用mysqli

最新更新