我目前正在做一个项目,在这个项目中,我需要为用户创建的每个单独的对象存储7天的数据,每个对象都有唯一的id以及用户。我猜这更像是一个“我该如何着手做这件事?”与“我做错了什么?”我的目标是一次保存7天的统计数据,并能够根据object_id将它们打印到jqPlot或其他图形库中。

我目前抓取数据的代码并不是很长。我刚开始使用预准备语句,并不完全理解从查询中获取结果的方法。
$stmt = $mysql->prepare("SELECT `date`, `impressions`, `clicks`, `object_id` FROM `object_stats` WHERE `user_id` = ?") or die(mysql_error());
$stmt->bind_param("s", $_SESSION['user_id']);
$stmt->execute();
$stmt->bind_result($date, $impressions, $clicks, $object_id);
$stmt->close();从那时起,我打算把结果放到一个多维数组中,每个object_id都有一个数组,但我甚至不知道从哪里开始,我试着在谷歌上搜索类似的解决方案,但我没有找到任何东西。如果我没有完全沟通我的问题,我很抱歉,我很难用语言表达出来。感谢您的帮助,谢谢。
发布于 2013-07-18 06:17:56
尝试使用PDO,它有一些非常酷的特性,比如只需一次简单的fetch就可以将数据提取到多维数组中;这可能就是您正在寻找的。
查看本教程:
http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/
今天我感觉很好,我将为您提供一些示例代码:
$sth = $dbh->prepare('SELECT `object_id`, `date`, `impressions`, `clicks` FROM `object_stats` WHERE `user_id` = ?');
$sth->execute(array($_SESSION['user_id']));
$data = $sth->fetchAll(PDO::FETCH_COLUMN | PDO::FETCH_GROUP);发布于 2013-07-18 06:22:10
你可以试试像这样的-
$object_id_array = array();
while ($stmt->fetch()) {
$object_id_array[$object_id][] = array('date'=> $date,
'impressions'=>$impressions,
'clicks'=>$clicks);
}这将在$stmt->bind_result(...)之后,但在$stmt->close();之前。
请注意,$stmt = $mysql->prepare(...)末尾的or die(mysql_error());不能在您的mysqli OO上工作。看看http://www.php.net/manual/en/mysqli-stmt.error.php,看看如何获取错误。
https://stackoverflow.com/questions/17711174
复制相似问题