Haj Ali
Haj Ali

Reputation: 93

Use conditions for SQL commands

I encountered a problem in writing PHP code. This is the error:

( ! ) Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in...

And this is my PHP code:

if(!empty($_GET['KEY'])){
    $CAT=$_GET['CAT'];
    $KEY=$_GET['KEY'];

    $content = mysqli_query($con,"SELECT * FROM model WHERE cat1 ='$CAT' UNION
                                SELECT * FROM model WHERE cat2 ='$CAT' UNION
                                SELECT * FROM model WHERE cat3 ='$CAT' UNION
                                SELECT * FROM model WHERE keyword1 ='$KEY' UNION
                                SELECT * FROM model WHERE keyword2 ='$KEY' UNION
                                SELECT * FROM model WHERE keyword3 ='$KEY' UNION
                                SELECT * FROM model WHERE keyword4 ='$KEY' UNION
                                SELECT * FROM model WHERE keyword5 ='$KEY' 
                                ORDER BY rate DESC;");

    }else {
$CAT=$_GET['CAT'];
$content = mysqli_query($con,"SELECT * FROM model WHERE cat1 ='$CAT' UNION
                            SELECT * FROM model WHERE cat2 ='$CAT' UNION
                            SELECT * FROM model WHERE cat3 ='$CAT' 
                            ORDER BY rate DESC;");
}

    $output = array();
while($row = mysqli_fetch_array($content)){
     $record = array();
     $record['rate'] = $row['rate'];
     $output[] = $record;

}

of Course I admit I am beginner in PHP And Hope you help me thanks to everyone.

Upvotes: 0

Views: 31

Answers (1)

Lalit Mohan
Lalit Mohan

Reputation: 474

This indicates that, SQL does not return any record. You $content variable is empty.

if (!empty($content)) {
 while($row = mysqli_fetch_array($content)){
     $record = array();
     $record['rate'] = $row['rate'];
     $output[] = $record;
 }
}

This will help you

Upvotes: 1

Related Questions