Php 警告:mysqli_fetch_array()要求参数1为mysqli_结果,给定布尔值

Php 警告:mysqli_fetch_array()要求参数1为mysqli_结果,给定布尔值,php,mysql,mysqli,Php,Mysql,Mysqli,WTF?-这正成为一场噩梦,似乎一个接一个地出错。。我愿意为某人的时间付钱,只是为了帮助我实现似乎无法实现的事情,请。。我想要的只是一个下拉菜单,它可以根据表格的类别从表格中选择数据并显示出来。。救命啊 <form action="portfolio.php" method="post"> <select onload="displayProject(this.value);" onchange="displayProject(this.value);"> <

WTF?-这正成为一场噩梦,似乎一个接一个地出错。。我愿意为某人的时间付钱,只是为了帮助我实现似乎无法实现的事情,请。。我想要的只是一个下拉菜单,它可以根据表格的类别从表格中选择数据并显示出来。。救命啊

<form action="portfolio.php" method="post">
 <select onload="displayProject(this.value);" onchange="displayProject(this.value);">
  <option value='none'>All</option>
  <option value='1'>Fencing</option>
  <option value='2'>Driveway</option>
 </select>
</form>

<?php 

$db = new mysqli('localhost', 'wlarter_user', 'pw', 'wlarter_portfolio');

if($db->connect_errno > 0){
    die('Unable to connect to database [' . $db->connect_error . ']');
}

$option= $_POST['option'];

$queries = "SELECT * FROM image"; 
if ($option != 'none'){
 $queries = "SELECT * FROM image where category=".$option; 
}

$result=@mysqli_query($db,"$queries");

while($row = mysqli_fetch_array($result))
{
?>

<div class="box-portfolio"> <?php echo $row['Img']; ?> </div>


<?php
}                      
mysqli_close($db);
?>

你能这样试试吗

$result=@mysqli_query($db,"$queries");

简单地扭转局面,可能就是你想要的:

$queries=$query;
进入

完整代码:

<FORM action="portfolio.php" method="post">
    <SELECT onload="displayProject(this.value);" onchange="displayProject(this.value);">
        <OPTION VALUE='none'>All</OPTION>
        <OPTION VALUE='1'>Fencing</OPTION>
        <OPTION VALUE='2'>Driveway</OPTION>
    </SELECT>
</FORM>

<?php

$db = new mysqli('localhost', 'wlarter_user', 'pw', 'wlarter_portfolio');

if($db->connect_errno > 0){
    die('Unable to connect to database [' . $db->connect_error . ']');
}

$option= $_POST['option'];

$queries = "SELECT * FROM image";
if ($option != 'none'){
    $queries = "SELECT * FROM image where category=".$option;
}

$query=$queries;
$result=mysqli_query($db,"$query");

while($row = mysqli_fetch_array($result))
{
    ?>

    <div class="box-portfolio"> <?php echo $row['Img']; ?> </div>


<?php
}
mysqli_close($db);
?>
更换这条线

$result=@mysqli_query($db,"$queries");
为此:

$result=@mysqli_query($db,$queries);

这可能会有所帮助。

因为mysql查询的结果可以是资源,也可以是布尔值,如果查询失败,您应该在执行查询后按如下方式检查查询结果:

if ($result !== false) {
    while($row = mysqli_fetch_array($result))
    {
        ?>
            <div class="box-portfolio"> <?php echo $row['Img']; ?> </div>
        <?php
    }
}
else {
    // do your error message stuff here
    echo mysqli_error($db);
}

为什么要使用这行代码$查询=$query;停止为HTML写大字。我认为这是HTML3.0标准。我们不再使用HTML3.0了!您收到任何错误吗?我是php新手,这是我设法拼凑的一些代码,请原谅我的任何错误。.您收到任何错误吗?请在mysqli_查询之前删除@,以便看到错误。请使用var_dump$选项!。不知道那是什么?我们可以通过skype通话吗?我愿意为你的服务付费。我在Skype中的名字是Xatenev。你应该检查一下错误,伙计,就像我回答的那样3.
if ($result !== false) {
    while($row = mysqli_fetch_array($result))
    {
        ?>
            <div class="box-portfolio"> <?php echo $row['Img']; ?> </div>
        <?php
    }
}
else {
    // do your error message stuff here
    echo mysqli_error($db);
}