我是PHP的新手。事实上,我刚刚读完了它的介绍,所以请原谅我,如果我解释得很糟糕,因为我很缺乏经验。我正在学习如何使用PDO连接到数据库,并且我想将查询结果转储到数组中,以便我想要使用的图形库可以绘制在最后一天访问特定位置的数量。其他一切正常,查询返回使用phpMyAdmin运行时的预期结果。我不能直接从查询中使用结果,因为库由于某种原因不理解它。
因此,我有想法使用while迭代结果并将信息添加到数组中。但由于某种原因,只添加了最新的结果。我知道我在这里遗漏了一些非常简单的东西,但我仍然无知知道我需要做什么。
# Establish the connection
$conn = new PDO("mysql:host=$host;dbname=$database", $username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$data = $conn->query('SELECT HOUR( TIMESTAMP ) AS HOUR , COUNT( detected_key ) AS num_rows
FROM Visitors
GROUP BY HOUR( TIMESTAMP )
LIMIT 0 , 24');
while($row = $data->fetch(PDO::FETCH_ASSOC)) {
$visit = array (
$row['HOUR'] => $row['num_rows']
);
}
答案 0 :(得分:1)
像这样重写while
。
while($row = $data->fetch(PDO::FETCH_ASSOC)) {
$visit[$row['HOUR']]= $row['num_rows'];
}
print_r($visit); // "prints your array"
您正在获取最后一个值,因为您每次都在覆盖。