数据库的随机结果


random result from db

我在一个外部文件中有这个php脚本,试图从数据库中获得随机问题:

<?php
//connect to db
require_once('db.php');
$id=rand(0,13); //2nd number = highest ID
if ($resQ = $mysqli->query("SELECT Quest FROM qa WHERE ID='$id'")){
   echo "" . $resQ['Quest'] . ""; //This is Line 9
   $resQ->close();
}
$mysqli->close();
?>

我在我的页面上称之为

<body>
code...
<?php require_once('script/m_q.php'); ?>
...code
</body>

但我得到错误:

致命错误:无法在中使用mysqli_result类型的对象作为数组/m_q.php在第9行

有什么帮助吗?谢谢

谢谢大家。。。不幸的是,我只能接受一个答案,因为我选择了先回答的那个

您必须调用mysqli_result对象的fetch_assoc()方法才能访问数据:

<?php
//connect to db
require_once('db.php');
$id=rand(0,13); //2nd number = highest ID
if ($resQ = $mysqli->query("SELECT Quest FROM qa WHERE ID='$id'")){
   $data = $resQ->fetch_assoc();
   echo "" . $data['Quest'] . ""; //This is Line 9
   $resQ->close();
}
$mysqli->close();
?>

mysqli::query确实返回了一个结果集,您必须获取行才能访问列。

您需要先获取数据。

$rs = $resQ->fetch_assoc();
echo $rs['Quest'];

$resQ无法进入if语句。。。首先使用mysql_fetch_assoc或mysql_fetch _array将数据分配给它。