db的随机结果

时间:2012-07-17 08:54:20

标签: php mysqli

我在外部文件中有这个php脚本试图从db获取随机问题:

<?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>

但我得到错误:

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

有任何帮助吗? 谢谢

谢谢大家...不幸的是,我只能接受一个答案,我选择的是首先回答的答案。

4 个答案:

答案 0 :(得分:3)

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

<?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();

?>

答案 1 :(得分:2)

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

答案 2 :(得分:2)

您需要先获取数据。

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

答案 3 :(得分:0)

$ resQ无法进入if语句...首先使用mysql_fetch_assoc或mysql_fetch_array为其分配数据。