php - 这是 MYSQL 或 PHP 错误吗?当mysql_fetch_array

标签 php mysql sql database

我遇到这样的错误:

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\lab\try.php on line 40

查询是:

$graphquery = mysql_query ("SELECT
  $cluster,
  SUM(IF(idx=3,1,0)) AS green,
  SUM(IF(idx=2,1,0)) AS yellow,
  SUM(IF(idx=1,1,0)) AS red
FROM (SELECT
        $cluster
        $xcond
        ,LEAST(999 $acond) idx 
      FROM table
      WHERE date >= '". $startDate ."'
          AND date <= '". $endDate ."'
          AND $regional = '$gregcond'
          AND $latitude IS NOT NULL 
      GROUP BY $cluster, $lac, $mainid
      HAVING $cluster IS NOT NULL
$paraxcond
      ) A
GROUP BY $cluster");

如果我回显查询,它将像这样(没有错误,顺便说一句,结果也很完美):

SELECT
  cluster,
  SUM(IF(idx=3,1,0)) AS green,
  SUM(IF(idx=2,1,0)) AS yellow,
  SUM(IF(idx=1,1,0)) AS red
FROM (SELECT
        cluster,
        ROUND(AVG(some_value_Index))    some_value_Index,
        LEAST(999, AVG(some_value_Index) )    idx
      FROM TABLE
      WHERE tanggal >= '2012-07-10'
          AND tanggal <= '2012-08-02'
          AND Regional = 'Regional_Example'
          AND Latitude IS NOT NULL
      GROUP BY cluster, Lac, ID
      HAVING cluster IS NOT NULL
          AND some_value_Index IN(3,2,1)) A
GROUP BY cluster

当我在该脚本上添加 mysql_error 时,听起来像这样:

Incorrect parameter count in the call to native function 'LEAST'

这是我愿意如何使用 MYSQL 查询:

$row = mysql_fetch_array ($graphquery)

当我 ECHO 查询并在 SQLYOG 或 PHPMYADMIN 上尝试时,没有包含错误,所以有人可以告诉我错误在哪里吗?

最佳答案

您在 LEAST() 函数中漏掉了一个逗号。 LEAST 需要 2 个或更多参数。所以查询将是。

mysql_query ("SELECT
  $cluster,
  SUM(IF(idx=3,1,0)) AS green,
  SUM(IF(idx=2,1,0)) AS yellow,
  SUM(IF(idx=1,1,0)) AS red
FROM (SELECT
        $cluster
        $xcond
        ,LEAST(999, $acond) idx 
      FROM table
      WHERE date >= '". $startDate ."'
          AND date <= '". $endDate ."'
          AND $regional = '$gregcond'
          AND $latitude IS NOT NULL 
      GROUP BY $cluster, $lac, $mainid
      HAVING $cluster IS NOT NULL
$paraxcond
      ) A
GROUP BY $cluster");

我将LEAST(999 $acond)更改为LEAST(999, $acond)

关于php - 这是 MYSQL 或 PHP 错误吗?当mysql_fetch_array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11770956/

相关文章:

php - 对未定义函数 geoip_open() 的 fatal error 调用

php - 如果开始时间和结束时间相同,时间选择器返回空值

php - c9.io php pdo 连接到 mysql

php - 在查询字符串中注入(inject)变量时,Select 返回空结果

mysql - 选择多列的计数,但仅在列值大于 0 时才包括计数

php - 使用 PHP 上传到 SQL 调整图像大小

php - Mysql 查询应该产生结果,但没有

mysql - 使用聚合函数 MYSQL 查找百分比

java - 在 Java 中对从数据库检索的一小部分数据执行连接操作。 (上下文: web application)

sql - 数据集的最小值和总和