我正在为用户编写代码以在用户帐户系统上更新其密码。
这是我引用的代码部分:
$checker = mysqli_query($db, "SELECT userid FROM tbl_user WHERE userpassword = '".md5($current)."'");
//echo "SELECT userid FROM tbl_user WHERE userpassword = '".md5($current)."'";
if ($checker == $_SESSION['exp_user']['userid']) {$check = true;} else {$check = false;}
由于某种原因,$checker
返回一个对象数组而不是对象本身。
执行 print_r($checker)
会产生以下结果:
mysqli_result Object ( [current_field] => 0 [field_count] => 1 [lengths] => [num_rows] => 1 [type] => 0 )
关于我应该做什么有什么想法吗?
最佳答案
它不返回“对象数组”,只是返回一个对象。该对象的类是mysqli_result
(如预期),它有一些公共(public)字段,如num_rows
,如 the manual of the MySQLi_Result class 上所示。 。如果你想从结果集中读取数据,你仍然必须使用像 mysqli_result::fetch_assoc() 这样的 fetch 方法。 ,即使您的结果集仅包含一行和一列。
关于php - MySQL查询返回非对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4232164/