warning problem: expects parameter 1 to be mysqli_result

error-handling, mysql, mysqli, php

Solution

`mysqli_query()` returns `FALSE` if there was an error in the query. So you should test for it...

/* Select queries return a resultset */
if ($result = mysqli_query($dbc, "SELECT Name FROM City LIMIT 10")) {
    printf("Select returned %d rows.\n", $result->num_rows);

    /* free result set */
    $result->close();
}

See this link for the `mysqli_query` reference http://php.net/manual/en/mysqli.query.php

Problem

I get the following warning listed below and I was wondering how do I fix it ``` Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given on line 65 ``` The code is around this section of PHP code listed below. I can list the full code if needed. ``` // function to retrieve average and votes function getRatingText(){ $dbc = mysqli_connect ("localhost", "root", "", "sitename"); $sql1 = "SELECT COUNT(*) FROM articles_grades WHERE users_articles_id = '$page'"; $result = mysqli_query($dbc,$sql1); $total_ratings = mysqli_fetch_array($result); $sql2 = "SELECT COUNT(*) FROM grades JOIN grades ON grades.id = articles_grades.grade_id WHERE articles_grades.users_articles_id = '$page'"; $result = mysqli_query($dbc,$sql2); $total_rating_points = mysqli_fetch_array($result); if (!empty($total_rating_points) && !empty($total_ratings)){ $avg = (round($total_rating_points / $total_ratings,1)); $votes = $total_ratings; echo $avg . "/10 (" . $votes . " votes cast)"; } else { echo '(no votes cast)'; } } ```

Original source

Related problems