Всем привет. Помогите пожалуйста решить проблему. PHP: <div id="container"> <?php 25строка mysqli_query($q,"SELECT * FROM articles"); 26строкаwhile($res = mysqli_fetch_array($q)) { echo '<div class="article"> <div class="title">'.$res['title'].'</div> <div class="summary">'.$res['summary'].'</div> <div class="date">'.$res['date'].'</div> <a href="full.php?id='.$res['id'].'">Подробнее..</a> </div>'; } ?> </div> Ошибки: Warning: mysqli_query() expects parameter 1 to be mysqli, null given in /home/u251592433/public_html/index.php on line 25 Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in /home/u251592433/public_html/index.php on line 26
Ну так если решил переписать на mysqli, то надо почитать документацию про mysqli, надо понять, что это за переменная такая, и как ее получить. Неужто решил, что она там просто для красоты любая подойдет? Нет. Это коннект к базе. Его надо открыть. С правильной кодировкой, к слову.
Это всё есть. Вот код с подключением: PHP: <?php $db = mysqli_connect("mysql.hoster.ru", "u251592", "","u251592433_"); mysqli_query($db,'SET NAMES utf8'); ?> В индексе его приинклудил
Вкратце, если ты используешь процедурный стиль, то в каждый query() нужно передавать индентификатор,если тебе не хочется это делать постоянно используй ООП стиль
Использую процедурный. когда я использовал mysql, а не mysqli было вот так и без ошибок: PHP: <div id="container"> <?php $q = mysql_query("SELECT * FROM articles"); while($res = mysql_fetch_array($q)) { echo '<div class="article"> <div class="title">'.$res['title'].'</div> <div class="summary">'.$res['summary'].'</div> <div class="date">'.$res['date'].'</div> <a href="full.php?id='.$res['id'].'">Подробнее..</a> </div>'; } ?> </div> Стоило залить весь сайт на hostinger, и сразу вылез варнинг мол юзайте mysqli. Может просто выключить отображение варнингов? --- Добавлено --- Проблема решена.
@Boyenerji найди строку mysql_connect( бла бла бла ); Там и происходит подключение. Измени на mysqli_connect и в скобках там всё не точно также как в mysql_connect. Мануальчик почитай. --- Добавлено --- и mysql_sellect_db удали или закоментируй...
Ну так почему вы не используете это $db в коде, которым открыли тему? Точно так же создаете коннект и передаете его туда, где у вас пустая $q.
В библиотеке mysql передавать id соединения не обязательно, а в mysqli обязательно. Ты мануальчик почитай и всё понятно станет. Для этого их и пишут.
Да-да, просто я не знал что нужно указывать идентификатор соединения в запросе mysqli. Всем большое спасибо)