【问题标题】:mysql_fetch_array() expects parameter 1 to be resource, string given [duplicate]mysql_fetch_array() 期望参数 1 是资源,给定字符串 [重复]
【发布时间】:2011-06-21 13:33:41
【问题描述】:

我有两个课程DBConnDBQueriesDBQueriesDBConn 之后继承。当我要显示用户数据库中的所有用户时,我看到消息:

mysql_fetch_array() 期望参数 1 是资源,给定字符串。
感谢您的任何建议。 class DBConn /*扩展配置*/ { 公共函数 dbConnection(){ $db_host = '本地主机'; $db_login = 'root'; $db_password = ''; $db_name = "数据库"; $conn = mysql_connect($db_host, $db_login, $db_password); $db = mysql_select_db($db_name); } } 类 DBQueries 扩展 DBConn { 函数显示用户(){ $this->dbConnection(); $query = "SELECT * FROM users"; $result = mysql_query($query); 而 ($row = mysql_fetch_array($query)) { 回声 $row['密码']; } } }

【问题讨论】:

    标签: php mysql oop


    【解决方案1】:

    当您需要传入$result 这是您的数据库结果对象时,您将传入$query 这是您的sql 字符串

    class DBQueries extends DBConn {
        function displayUsers(){
            $this->dbConnection();
            $query = "SELECT * FROM users";
            $result = mysql_query($query);
            while ($row = mysql_fetch_array($result)) {
                echo $row['password'];
            }
        }
    }
    

    【讨论】:

      【解决方案2】:

      您需要传入mysql_query()返回的结果句柄$result

      【讨论】:

        【解决方案3】:

        您需要将 $result 作为第一个参数传递给 mysql_fetch_array 函数调用,而不是 $query。

        class DBQueries extends DBConn {
          function displayUsers(){
            $this->dbConnection();
            $query = "SELECT * FROM users";
            $result = mysql_query($query);
            while ($row = mysql_fetch_array($result)) {
              echo $row['password'];
            }
          }
        }
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2011-09-23
          • 1970-01-01
          • 2012-02-07
          • 2011-06-05
          • 2011-02-11
          • 2011-08-28
          相关资源
          最近更新 更多