下面的函数将用于将 Facebook 访问 token 输入数据库。用户 ID 已经有关联记录,因此只需更新“acc_tok”字段。
出于某种原因,即使 $_result 值保持为“1”并且函数回显“成功!”,也会出现一条警告:
“警告:mysql_fetch_array() 期望参数 1 为资源,给定 bool 值”。有谁知道为什么看起来查询成功但只返回一个 bool 值而不是 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!");
}
}
最佳答案
您正在执行 UPDATE
查询,没有要从结果中获取的行,因此来自 mysql_query()
的 bool 值而不是资源。
来自 the manual :
For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc, mysql_query() returns TRUE on success or FALSE on error.
关于php - mysql_query 成功但获取 mysql_fetch_array() 期望参数 1 为资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11991974/