2012-07-26 81 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'); 
相關問題