【问题标题】:PHP Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource [duplicate]PHP警告:mysql_fetch_array():提供的参数不是有效的MySQL结果资源[重复]
【发布时间】:2013-07-14 20:49:03
【问题描述】:

将网站上传到我的网络服务器后,我收到以下消息:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource 
in /home1/m1k3ey/public_html/MikeyDev.com/teamdesire/playersheet.php on line 8

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource 
in /home1/m1k3ey/public_html/MikeyDev.com/teamdesire/playersheet.php on line 9

我的 PHP 版本是:

PHP Version 5.2.17

我看不出我的代码哪里出错了,谁能帮忙:

          mysql_select_db('teamdesire', $link);
          $query = "SELECT * FROM playershowercase";
          $result = mysql_query($query,$link);
          $row = array();
Line 8 >  while($row[] = mysql_fetch_array($result));
Line 9 >  $count = mysql_num_rows($result);
          $random = rand(0,$count-1);

【问题讨论】:

  • PHP 版本进入你的服务器???
  • 按照通常的错误消息:您的查询以某种方式失败,您的代码盲目地假设成功,然后继续犯错。
  • @MikeyT - 你试过$result = mysql_query($query,$link) or die (mysql_error()); 吗?还是var_dump($result
  • 是的,我试过了,在我的错误日志中,它显示的错误与屏幕上显示的完全相同
  • @MikeyT - var_dump($result) 显示了什么?

标签: php mysql database arrays fetch


【解决方案1】:

可能类似于以下内容?

      mysql_select_db('teamdesire', $link);
      $query = "SELECT * FROM playershowercase";
      $result = mysql_query($query,$link);
      $row = mysql_fetch_assoc($result);
      $count = mysql_num_rows($result);
      $random = rand(0,$count-1);

或者

      mysql_select_db('teamdesire', $link);
      $query = "SELECT * FROM playershowercase";
      $result = mysql_query($query,$link);
      while ($row = mysql_fetch_array($result, MYSQL_NUM))
      $count = mysql_num_rows($result);
      $random = rand(0,$count-1);

【讨论】:

    【解决方案2】:

    可能的错误来源:

    • Db 未在指定的套接字或端口上运行。
    • 对表或数据库的权限不足。
    • 登录凭据不正确。
    • 表格不存在或拼写错误。

    排查时每行回显。

    is_resource($link) or die('Could not connect');
    mysql_query(...);
    echo mysql_error();
    

    【讨论】:

      【解决方案3】:

      试试这个:

                mysql_select_db('teamdesire', $link);
                $query = "SELECT * FROM playershowercase";
                $result = mysql_query($query,$link);
                $row = array();
                while($result = mysql_fetch_array($result))
                {
                $row[]=$result;
                }
                $count = mysql_num_rows($result);
                $random = rand(0,$count-1);
      

      【讨论】:

      • 不幸的是我又遇到了同样的错误
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-22
      • 2011-04-24
      • 2013-09-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多