【问题标题】:warning:mysql_fetch_array() expects parameter 1 to be resource, object given [duplicate]警告:mysql_fetch_array() 期望参数 1 是资源,给定对象 [重复]
【发布时间】:2011-06-05 19:42:24
【问题描述】:

当我尝试运行此代码时收到上述警告:

$mysqli=new mysqli("localhost", "***", "***","***") or die(mysql_error());


              function checklogin($username, $password){
                global $mysqli;


                $result = $mysqli->prepare("SELECT * FROM users WHERE username = ?");
                $result->bind_param("s", $username);
                $result->execute();

            if($result != false){

                $dbArray=mysql_fetch_array($result);

【问题讨论】:

    标签: php mysqli prepared-statement


    【解决方案1】:

    您在代码中混合了 mysql 和 mysqli 调用。使用mysqli_fetch_array 而不是mysql_fetch_array

    【讨论】:

      【解决方案2】:

      您正在使用两组不同的函数... mysqli 和 mysql。
      我想你想使用 fetch_assoc() 方法。

      查看http://php.net/manual/en/book.mysqli.php

      【讨论】:

        【解决方案3】:

        您正在混合使用 mysqli 和传统的 mysql 命令。

        使用$result->fetch_array()

        【讨论】:

        • 第一行也应该使用$mysqli->connect_error,而不是mysql_error()。
        • 但现在我得到:致命错误:在第 52 行的 /var/www/JMToday/loginchk.php 中调用未定义的方法 mysqli_stmt::fetch_array()
        • @Sam 你需要使用query() 而不是execute(),它返回一个包含fetch_array 方法的结果对象。有关完整示例,请参见此处:php.net/manual/en/mysqli.query.php
        猜你喜欢
        • 2011-08-28
        • 1970-01-01
        • 2011-09-23
        • 1970-01-01
        • 2011-03-26
        • 2012-01-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多