我在一个外部文件中有这个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将数据分配给它。