mysql_query成功但获取mysql_fetch_array()需要参数1为资源

时间:2012-08-16 16:53:17

标签: php mysql sql

以下功能将用于将Facebook访问令牌输入数据库。用户ID已经有相关记录,因此只需要更新“acc_tok”字段。

出于某种原因,即使$ _result值保持为“1”并且函数回显“成功!”,也会出现一条警告:

“警告:mysql_fetch_array()期望参数1为资源,布尔值为”。有谁知道为什么看起来查询成功但只返回一个布尔值而不是mysql_fetch_array可以使用的东西?感谢您的阅读

function setUserAccessToken($_uid, $_accTok){
        $sql = "UPDATE `user_core` SET `acc_tok`=$_accTok WHERE `id` = $_uid";
        $_result = mysql_query($sql) or die($sql."<br/><br/>".mysql_error());
        echo $_result;
        if ($_result) {
        echo ("Successful!");
            $_resultArray = mysql_fetch_array($_result);
            print_r($_resultArray);
        } else {
            echo ("Failed!");
        }
}

1 个答案:

答案 0 :(得分:6)

您正在进行UPDATE查询,没有要从结果中获取的行,因此来自mysql_query()的布尔值而不是资源。

来自the manual

  

对于其他类型的SQL语句,INSERT,UPDATE,DELETE,DROP等,   mysql_query()成功时返回TRUE,错误时返回FALSE。