如何更改此代码,以免收到上述错误?
以下是完整错误:
致命错误:在第10行/home/bestc165/public_html/opinuo.com/stream.php中的非对象上调用成员函数fetch_array()
<?php
$link = mysqli_connect('localhost', 'bestc165_opinuo', 'opinuo');
$sql_string = 'SELECT * FROM debates LIMIT 2 order by ts ';
$result = mysqli_query($link,$sql_string );
while($row = $result->fetch_array())
{
$rows[] = $row;
}
foreach($rows as $row)
{
$name = $row['name'];
$text = $row['text'];
?>
<h2><?php echo $name;?></h2>
<p><?php echo $text;?></p>
<?php
}
?>
答案 0 :(得分:1)
LIMIT
来自ORDER BY
将您的查询更改为
$sql_string = 'SELECT * FROM debates ORDER BY ts LIMIT 2';
mysqli_query
在失败时返回FALSE
,因此您的$result
不是一个对象,而是一个boolean
因此您的错误。
更新
如评论中所述,请确保在连接中传递数据库名称
$link = mysqli_connect('host', 'username', 'password', 'databaseName');
mysqli_select_db($link, "databaseName");
答案 1 :(得分:0)
使用此:
//Other code here
$result = mysqli_query($link, $sql_string );
while($row = mysqli_fetch_assoc($result))
{
?>
<h2><?php echo $row['name'];?></h2>
<p><?php echo $row['text'];?></p>
<?php
}
?>
无需使用额外的loop
来显示输出。