0

我目前正在做一个项目,在该项目中,我需要为用户创建的每个单独对象存储 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 设置一个数组,但我什至不知道从哪里开始,我尝试在谷歌上搜索类似的解决方案,但我没有遇到任何问题。如果我没有充分表达我的问题,我深表歉意,我很难用语言表达。任何帮助表示赞赏,谢谢。

4

2 回答 2

1

尝试使用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-17T22:17:55.513 回答
1

你可以尝试类似的东西 -

$object_id_array = array();
while ($stmt->fetch()) {
    $object_id_array[$object_id][] = array('date'=> $date, 
                                           'impressions'=>$impressions,
                                           'clicks'=>$clicks);
}

这将在之后$stmt->bind_result(...),但在之前$stmt->close();

请注意,or die(mysql_error());最后$stmt = $mysql->prepare(...)将不适用于您的mysqliOO。看看http://www.php.net/manual/en/mysqli-stmt.error.php看看如何得到错误。

于 2013-07-17T22:22:09.830 回答