【问题标题】:Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in [duplicate]警告:mysql_fetch_array() 期望参数 1 是资源,布尔值在 [重复]
【发布时间】:2011-03-29 14:16:30
【问题描述】:

可能重复:
PHP: Warning: sort() expects parameter 1 to be array, resource given

请帮忙,

我收到以下错误:

警告:mysql_fetch_array() 期望参数 1 是资源,布尔值......

这是我的查询:

$query = "SELECT ListNumber FROM residential"; 
$result1 = mysql_query($query); 
    if (mysql_num_rows($result1) >10){ 
        $difference = mysql_num_rows($result1) - 10; 
        $myQuery = "SELECT * FROM `residential` ORDER BY `id` LIMIT 10,". $difference; 
        $result2 = mysql_query($myQuery); 
echo $result2;
        $replace =  str_replace(", "," | ", $result2);
    while ($line = mysql_fetch_array($result2, MYSQL_BOTH))

【问题讨论】:

  • mysql_fetch_array 在哪里?
  • 对不起,你的 mysql_fetch_array() 函数在代码中的什么地方被调用了?
  • 请贴出完整的错误信息和你的代码部分,mysql_fetch_array() 所在的位置。
  • 您问我们为什么您的 mysql_fetch_array 函数不起作用,但将那部分代码从您的示例中删除。我们应该如何解决这个问题?
  • 你在哪里打电话mysql_fetch_array()

标签: php mysql


【解决方案1】:

您的查询 ($myQuery) 失败,因此不会产生查询资源,而是产生 FALSE。

要显示您动态生成的查询的外观并显示错误,请尝试以下操作:

$result2 = mysql_query($myQuery) or die($myQuery."<br/><br/>".mysql_error());

错误消息将引导您找到解决方案,从您下面的评论来看,该解决方案与在您正在从中选择的表中不存在的字段上使用 ORDER BY 相关。

【讨论】:

  • 它给出的错误是:'order Clause'中的未知列'id'
  • 错误在下面那行...看 echo & str_replace() bellow.
  • 那么您的“住宅”表没有名为id 的字段,因此您无法通过它订购。将其取出或按您拥有的字段排序,查询将运行:-)
  • 这个已经排序了!感谢您的帮助!
  • 最后一个问题,现在它显示:资源 id #4。这是什么意思?
【解决方案2】:

您发布的代码不包括对mysql_fetch_array() 的调用。但是,最有可能出错的是您正在发出一个返回错误消息的查询,在这种情况下,查询函数的返回值是false,并且尝试对其调用mysql_fetch_array() 不起作用(因为 boolean false 不是 mysql 结果对象)。

【讨论】:

    【解决方案3】:

    mysql_fetch_array() 期望参数 1 是在服务器上的 php 错误中给出的资源布尔值,如果您收到此错误:please select all privileges on your server。你会得到答案的..

    【讨论】:

      【解决方案4】:

      $result2 是资源链接,不是指向echo 的字符串,也不是用str_replace() 替换它的某些部分。

      http://php.net/manual/en/function.mysql-query.php

      【讨论】:

      • 我猜你的大型项目中不包括数据库! :)
      • 就像我说的,如果你不想帮忙,那就不要帮忙!您说“我猜数据库不包含在您的大型项目中!:) – Wh1T3h4Ck5 18 小时前”然后您的链接重定向到我 2 小时前的新问题?
      • 但是,伙计,请阅读这个答案......这就是我在这里告诉你的,然后你在那里问另一个问题!也许您在代码中进行了一些修改,但仍然是同一个问题。所以不要想知道为什么你会从这里的其他成员那里得到反对票。但是做你想做的...
      【解决方案5】:

      当您的查询语法检查字段名称表名有错误时,会出现此错误,意思是检查您的查询语法。

      【讨论】:

      • 这不是一个有用的答案。随便。
      • 我认为这是正确的答案。在这种情况下,在控制台中调试查询是要走的路。这很有帮助,因为它说问题出在 sql 中,而不是 php。
      猜你喜欢
      • 2014-05-20
      • 1970-01-01
      • 2013-07-09
      • 1970-01-01
      • 2011-08-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多