2013-07-20 55 views
0

我想開發一個基本的PHP代碼,它將連接到數據庫,選擇表「a」並檢查過去24小時的所有條目。如果條目的值「b」大於3,那麼查詢將理解它們完成,總結它們並回顯已完成條目的數量。PHP SQL查詢總結當天所有已完成的任務

這是我到目前爲止有:

<?php 
$con=mysql_connect("details hidden for security"); 
if (mysql_connect_errno($con)) { 
echo "Failed to connect to MySQL: " . mysql_connect_error(); 
} 
$now = time(); 
$onedayago = $now - (24*60*60); 
$result=mysqli_query($con, "SELECT * FROM 'a' WHERE 'b' = 3 AND 'b' >= $onedayago AND 'b' <= $now"); 
if($result === FALSE) 
{ 
die(mysql_error()); 
} 
while($data=mysql_fetch_array($result)){ 
$count = $data['total']; 
} 
echo $count; 
?> 
+0

刪除列名稱周圍的單引號,因爲它們是標識符而不是字符串文字。 'select * from a where b = 3 AND b> = $ onedayago AND b <= $ now' –

+1

'mysql'折舊嘗試使用'mysqli'或'PDO' – bansi

+2

另外你不能將'mysql'和'mysqli' 。你正在使用'mysql'進行連接,並使用'mysqli'執行查詢,這不會起作用。 – bansi

回答

0

在代碼中,你使用mysql_connect()連接到數據庫,但你使用mysqli_query()後執行查詢。不要混合這些。

其次,你不需要圍繞標識符的單引號。它應該是:

SELECT * FROM a WHERE b = 3 AND b >= $onedayago AND b <= $now 

此外,mysql()被正式棄用PHP 5.5和它的建議切換到mysqli()PDO

+0

非常感謝您的答案,但應用這些更改我只是得到一個白色的屏幕。謝謝! –

相關問題