При запросе на чтение всех данных из БД возникают ошибки Warning: mysqli_query() expects parameter 1 to be mysqli, null given in W:\domains\AIM\php\armour.php on line 4 Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, null given in W:\domains\AIM\php\armour.php on line 11 Редактор ошибок никаких не указывает . Что нужно сделать ? Объясните пожалуйста по подробнее , с php знакомлюсь совсем недавно PHP: <?session_start(); require_once 'connect.php'; $result = mysqli_query($connection, "SELECT * FROM `armour`" ); ?> <ul> <?php while(($cat=mysqli_fetch_assoc($result))) { echo '<li>' . $cat['title'] . '</li>'; } ?> </ul>
Сделать так, чтобы переменная $connection оказалась объектом класса mysqli, а не содержала значение null (если именно эта переменная инициализируется в скрипте 'connect.php'
Как можно это сделать ? в скрипте connect.php вот так PHP: <?php $connect = mysqli_connect('localhost', 'root', '', 'a.i.m.'); if (!$connect) { die('Error connect to DataBase'); } ?>
Тогда идите во двор в песочнице играться --- Добавлено --- В mysqli_query() в качестве параметра принимается то, что возвращается ф-цией mysqli_connect(). --- Добавлено --- Кста, вставлять файлы, в которых сразу выполняется код, в большинстве случае плохая идея. Из-за этого и могла произойти потеря фокуса на имя переменной. Лучше делать так: PHP: require_once 'connect.php'; if (!($connect = mysqli_open())) { die('Error connect to DataBase'); } if (!($result = mysqli_query($connect, "SELECT * FROM `armour`"))) { die('Error on query!'); } ... Потом можно перейти на использование исключений. --- Добавлено --- P.S. Если не понятно, mysqli_open() – обертка над mysqli_connect(), объявленная во включаемом файле. --- Добавлено --- P.P.S. Есть еще вариант с or die(), чтобы было короче