2013-07-20 33 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

非常感谢您的答案,但应用这些更改我只是得到一个白色的屏幕。谢谢! –

相关问题