警告:mysqli_fetch_object()期望参数1为mysqli_result,boolean给出

时间:2016-02-21 21:23:59

标签: php mysqli

警告:mysqli_fetch_object()要求参数1为mysqli_result,第35行/public_html/header.php中给出布尔值

header.php中的

, 连接数据库:

$connect=mysqli_connect("localhost","$db_name","$password")
$sql_logo="SELECT * FROM `logo`";
$query_logo=mysqli_query($connect,$sql_logo);

第35行:

<?php 
   while($result=mysqli_fetch_object($query_logo)){
?>
   <a href="/"><img src="res/img/<?php echo $result->logo_img?>"></a>
<?php } ?>

在我的数据库中: 表名为logo,列名为logo_img

我不知道发生了什么,因为当我在xampp中尝试使用该代码时,它会工作。

我已阅读其他帖子,但没有帮助。请任何人,这是我第一次将我的网络托管到网络托管中。

3 个答案:

答案 0 :(得分:1)

$connect=mysqli_connect("localhost","$db_name","$password")

这里有两件事。

$db_name,它必须是最后一个参数,并且你缺少一个关闭的分号。

语法为:

  • 宿主
  • 用户名
  • 密码(如果有)
  • 数据库

根据手册

$link = mysqli_connect("127.0.0.1", "my_user", "my_password", "my_db");

确保您也正确分配了这些变量。

如果没有密码,你仍然需要它的参数,但是为空。

即:

$link = mysqli_connect("127.0.0.1", "my_user", "", "my_db");
                                                ^ that is for the password parameter

还检查错误:

答案 1 :(得分:0)

您的$query_logo可能是FALSE,而不是您尝试获取的结果。这可能意味着您的mysqli_connect失败,或者$sql_logo查询失败。

使用echo mysqli_error($connect)打印错误,您将在那里找到答案。

另外,我建议你看一下面向对象的mysqli,看起来你还在想办法,不习惯程序,或者你以后会后悔。

答案 2 :(得分:-1)

请参阅PHP手册 http://php.net/manual/en/function.mysqli-connect.php  为了更好地了解mysqli语法。

为了显示记录,请尝试使用下面给出的语法和代码:

$conn = mysqli_connect("127.0.0.1", "db_username", "db_password", "Database_anme");
$limit = 10; //$_POST['limit'];
$start   = 0; //$_POST['start'];
$r = mysqli_query($conn, "SELECT * FROM `TABLE_NAME` DESC LIMIT $start,$limit");
while($quotos = mysqli_fetch_object($r)){
    // Your code goes here
}