2

Никак не могу найти в чем ошибка..
Fatal error: Uncaught Error: Call to a member function fetch_assoc() on boolean in C:\xampp\htdocs\test1\select.php:3 Stack trace: #0 C:\xampp\htdocs\test1\select.php(13): printResult(false) #1 {main} thrown in C:\xampp\htdocs\test1\select.php on line 3

<?php
    function printResult ($result_set){
        while (($row = $result_set->fetch_assoc())!= false){
               print_r ($row);
            echo "<br/><hr/>";
        }
        echo "<br/>Количество записей равно ".$result_set->num_rows."<br/>";
    }

    $mysqli = new mysqli("localhost", "root", "", "mybase");
    $mysqli->query( "SET NAMES 'utf8'");
    $result_set = $mysqli->query("SELECT COUNT (`id`)  FROM `users`"); 
    printResult($result_set);
    $mysqli->close();

    ?>
Mr. Ranger
  • 75
  • 2
  • 6

1 Answers1

1
$result_set = $mysqli->query("SELECT COUNT (`id`)  FROM `users`"); 

mysqli::query() возвращает FALSE в случае неудачи. В случае успешного выполнения запросов SELECT, SHOW, DESCRIBE или EXPLAIN mysqli_query() вернет объект mysqli_result. Для остальных успешных запросов mysqli_query() вернет TRUE.

mysqli::query()

Замените

printResult($result_set);

на

if ($result_set !== false) {
    printResult($result_set);
} else { // обработка ошибки
    trigger_error($mysqli->error);
}

Чтобы получить сообение об ошибке от mysqli