2012-07-26 85 views
1
<center> 
<?php 

$lasttime = $_SERVER['REQUEST_TIME'] - 3600*24*30; // 1 month 

调用数据库?致命错误:调用第7行上的非对象上的成员函数query()

$q = $db->query('SELECT * from votes where lasttime > '.$lasttime); 
if($q->num_rows>0) 
{ 
$users = array(); 
while($r = $q->fetch_object()) 
{ 
  $users[$r->username] += 1; 
} 
if(!empty($users)) 
{ 
foreach($users as $user => $t) 
{ 
echo"<br /><strong>$user</strong> has voted $t times"; 
} 
} 

如果没有投票没有投票记录。

}else{ 
echo"NO VOTE LOGS YET"; 
} 


?> 
</center> 

从我所知道的无法登录到MYSQL数据库? 而我不知道该怎么做。 谢谢!

+0

如果这是通过实例'$ DB的完整代码,你有没有连接到数据库=新的mysqli(“主机” ,'user','password','dbname');' – 2012-07-26 00:06:31

+0

你使用的是框架还是什么? – David 2012-07-26 00:06:38

+0

'$ db'初始化在哪里? – nickb 2012-07-26 00:08:25

回答

1

$db不是一个对象,这意味着连接失败。你应该检查连接是否已经建立。假设你正在使用的mysqli:read this

+0

警告:mysqli :: mysqli()[mysqli.mysqli]:(28000/1045):访问拒绝用户'******'@'site.********.com'(使用密码:是)在第6行 警告:mysqli的::查询()[mysqli.query]:无法提取的mysqli在第7行 – ilovepie 2012-07-26 04:10:48

+0

query('SELECT * from votes where lasttime>'。$ lasttime); if($ q-> num_rows> 0) { $ users = array(); while $($ r = $ q-> fetch_object()) { $ users [$ r-> username] + = 1; } 如果(!空($用户)) { 的foreach($用户以$用户=> $吨) { 回声 “
$用户已投票$ t次”; } } } else { echo“NO VOTE LOGS YET”; } ?>
ilovepie 2012-07-26 04:11:53

+0

@ilovepie访问被拒绝的用户“***'@'site.*****.com”意味着你不能与用户名和密码到指定的数据库连接。 – Shoe 2012-07-26 09:01:59

0

添加一行7之前...

$db = new mysqli('host','user','password','dbname'); 
相关问题