2013-07-17 22 views
0

我目前的工作在我需要存储装置7天的数据,为用户创建的各个对象的一个​​项目,每个对象都有一个唯一的ID,以及作为用户。我想这更像是一个“我该如何去做这件事?”与“我做错了什么?”。我的目标是 保持7天价值统计的同时,并能打印出来到jqPlot或根据自己的object_id一些其他的图形库。预处理语句+ MySQL的(7天统计信息)

enter image description here

我对抓取数据当前的代码不是太远一起。我刚开始使用准备好的语句,但我不完全理解从查询中获取结果的方法。

$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数组,但我不知道在哪里甚至开始,我试着用搜索引擎类似的解决方案,但我没有没有遇到任何事情。如果我没有充分沟通我的问题,我很抱歉,我很难将其写入文字。任何帮助表示赞赏,谢谢。

回答

1

尝试使用PDO相反,它有一些非常酷的功能,如获取数据到多维数组只是一个简单的获取;这可能是你正在寻找的。

检查本教程出来:

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); 
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(...)将无法​​在您的mysqli面向对象。看看http://www.php.net/manual/en/mysqli-stmt.error.php看看如何获​​得错误。