以下功能将用于将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!");
}
}
答案 0 :(得分:6)
您正在进行UPDATE
查询,没有要从结果中获取的行,因此来自mysql_query()
的布尔值而不是资源。
来自the manual:
对于其他类型的SQL语句,INSERT,UPDATE,DELETE,DROP等, mysql_query()成功时返回TRUE,错误时返回FALSE。