以下功能将用于将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!");
}
}
Run Code Online (Sandbox Code Playgroud)
您正在进行UPDATE查询,没有要从结果中获取的行,因此来自mysql_query()而不是资源的布尔值.
从手册:
对于其他类型的SQL语句,INSERT,UPDATE,DELETE,DROP等,mysql_query()在成功时返回TRUE,在出错时返回FALSE.