MySQL查询返回非对象?

时间:2010-11-20 10:01:01

标签: php mysql

我正在为用户编写代码以更新用户帐户系统上的密码。

这是我所指的代码部分:

$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 )

关于我应该做什么的任何想法?

1 个答案:

答案 0 :(得分:1)

它不返回“对象数组”,只返回一个对象。该对象的类是mysqli_result(正如预期的那样),它有一些公共字段,如num_rows,如the manual of the MySQLi_Result class所示。如果要从结果集中读取数据,则仍需使用mysqli_result::fetch_assoc()等提取方法,即使结果集只包含一行和一列。