Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP mysql_fetch_assoc error-参数应为布尔错误查询_Php_Mysql - Fatal编程技术网

PHP mysql_fetch_assoc error-参数应为布尔错误查询

PHP mysql_fetch_assoc error-参数应为布尔错误查询,php,mysql,Php,Mysql,可能重复: 我正在为我的高级班做一个项目,我们的首席程序员刚刚不及格,现在我是唯一的程序员。他在使用PHP,而我几乎没有编程经验。程序不断回退此错误 mysql_fetch_assoc()希望参数1是资源,布尔值在中给出(指向第33行的pastebin文件) 如果你们能帮忙,我将非常感激。。。我似乎无法理解这一点 谢谢 内森 更新:我运行了echo mysql_错误标志,它在第58行出现了一个错误 if($rows == ''){ 此错误几乎总是指向失败的SQL查询,这通常是语法问题。我现

可能重复:

我正在为我的高级班做一个项目,我们的首席程序员刚刚不及格,现在我是唯一的程序员。他在使用PHP,而我几乎没有编程经验。程序不断回退此错误

mysql_fetch_assoc()希望参数1是资源,布尔值在中给出(指向第33行的pastebin文件)

如果你们能帮忙,我将非常感激。。。我似乎无法理解这一点

谢谢

内森

更新:我运行了echo mysql_错误标志,它在第58行出现了一个错误

if($rows == ''){
此错误几乎总是指向失败的SQL查询,这通常是语法问题。我现在正在研究您的代码,但我建议您仔细检查查询语法

mysql\u query
在完成成功的查询时返回
资源
,如果查询失败则返回
false
。您的查询失败,因此,您将false传递给
mysql\u fetch\u assoc()
,它需要
资源,因此出现错误

你可以(应该)这样做

$result = mysql_query($query);
if (!$result)
   echo mysql_error();
else
   //do your stuff here

如果您不能清楚地看到查询中的错误,请使用上面的代码段
mysql\u error()
将报告错误,这样您就知道哪里出了问题。或者,在IDE中运行查询,例如调试查询。

这意味着您的查询没有返回任何结果(问题出在SQL中,而不是PHP中)。这可能是语法错误,但我没有立即看到

尝试用以下内容替换
$query

SELECT *
FROM counterdata
这保证会返回一些东西(只要数据库中有一些数据),如果没有其他错误,它应该可以工作

然后,再次尝试缓慢地将部分SQL添加到查询中,如下所示:

// Next Step:
SELECT SensorName, SUM(CountA) AS Traffic, StartDate, EndDate
FROM counterdata

// Then Try:
SELECT SensorName, SUM(CountA) AS Traffic, StartDate, EndDate
FROM counterdata
WHERE StartDate >= '{$yesterdayTimestamp}'

// And Lastly:
SELECT SensorName, SUM(CountA) AS Traffic, StartDate, EndDate
FROM counterdata
WHERE StartDate >= '{$yesterdayTimestamp}'
GROUP BY StartDate, SensorName
这将告诉您错误在SQL中的位置(如果存在)。否则,它应该会起作用


如果这一切都不起作用,那么PHP中的某些内容是错误的,但我在查看时没有发现任何错误。

您对sql查询有某种问题。您需要检查$result。如果它是假的,你需要打印mysql_error(),看看哪里出了问题。我真的很感激!我现在也在看。谢谢,我将尝试Jon发布的内容,如果没有任何东西仍然有效,我将使用此方法查看它是否有助于缩小范围。我已经取得了一些进展。。。在把错误代码放在这里之后,他们告诉我。注意:未定义变量:第60行C:\xampp\htdocs\report.php中的行注意:未定义变量:第65Ok行C:\xampp\htdocs\report.php中的行,这意味着您的SQL部件工作正常。现在报告的错误是一个PHP错误。在粘贴箱的第46行中,创建并使用$rows。然后,再次在第56行引用它,但它不再在范围内。添加
$rows=array()在第32行和第33行之间。这是非常有用的,我真的很感激,我现在就去尝试这些东西!
// Next Step:
SELECT SensorName, SUM(CountA) AS Traffic, StartDate, EndDate
FROM counterdata

// Then Try:
SELECT SensorName, SUM(CountA) AS Traffic, StartDate, EndDate
FROM counterdata
WHERE StartDate >= '{$yesterdayTimestamp}'

// And Lastly:
SELECT SensorName, SUM(CountA) AS Traffic, StartDate, EndDate
FROM counterdata
WHERE StartDate >= '{$yesterdayTimestamp}'
GROUP BY StartDate, SensorName