За последние 24 часа нас посетили 22556 программистов и 1015 роботов. Сейчас ищут 738 программистов ...

Ошибка Warning: mysqli_query() expects parameter 1 to be mysqli, null given in

Тема в разделе "PHP и базы данных", создана пользователем Medvedoc, 2 ноя 2017.

  1. Medvedoc

    Medvedoc Активный пользователь

    С нами с:
    17 окт 2011
    Сообщения:
    65
    Симпатии:
    0
    При обновление кода под версию php 7 возникли ошибки.

    Warning: mysqli_query() expects parameter 1 to be mysqli, null given in on line 921
    Warning: mysql_num_rows() expects parameter 1 to be resource, null given in on line 922

    Файл db_connect.php
    PHP:
    1. <?php
    2.     //Данные для подключения
    3.     $db_host        = 'localhost';
    4.     $db_user        = 'test';
    5.     $db_pass        = 'test';
    6.     $db_database    = 'test';
    7.  
    8.     //Подключаемся к mysql серверу
    9.     $mysql_connect = mysqli_connect($db_host, $db_user, $db_pass, $db_database) or die("Couldn't connect to bd");
    10.  
    11.     mysqli_set_charset($mysql_connect, 'utf8');
    12.  
    13.     //Выбираем базу данных
    14.     $db = mysqli_select_db($mysql_connect, $db_database) or die("Couldn't select database!");
    15.    
    16.     date_default_timezone_set ( 'Europe/Kiev');
    17. ?>
    Остальные файлы приложил
     

    Вложения:

  2. alexpride1993

    alexpride1993 Новичок

    С нами с:
    28 мар 2016
    Сообщения:
    56
    Симпатии:
    20
    При просмотре беглым взглядом нашел что у тебя в функцию categiriy_show не передается объект mysqli, который должен быть в переменной $mysql_connect, поэтому mysqli_query и не отрабатывает.
    К тому-же у тебя там в перемешку mysql и mysqli, что ой как нехорошо, особенно с учетом того что расширение mysql_* устарело и было удалено в седьмой версии PHP
     
    MouseZver нравится это.
  3. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    В db_connect mysqli_* в page mysql_*
    Да и сам почитай какие ты варнинги выложил,посмотри первый и второй и найди одно отличие
     
  4. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.745
    Симпатии:
    1.321
    Адрес:
    Лень
    в чем ваша проблема? Invalid решений ошибок ?
     
  5. Medvedoc

    Medvedoc Активный пользователь

    С нами с:
    17 окт 2011
    Сообщения:
    65
    Симпатии:
    0
    оперативные ответы =) даже неожиданно
    я только начал переписывать код под php7
    поэтому остановился в файле page.php на строке 921.
     
  6. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.745
    Симпатии:
    1.321
    Адрес:
    Лень
    в чем ваша проблема? Invalid решений ошибок ?
     
  7. Medvedoc

    Medvedoc Активный пользователь

    С нами с:
    17 окт 2011
    Сообщения:
    65
    Симпатии:
    0
    http://medvedoc.myjino.ru/rotator-v3/ вот ссылка на сайт

    даже заменив на mysqli выдает ошибки

    Warning: mysqli_query() expects parameter 1 to be mysqli, null given in on line 921

    Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in
    --- Добавлено ---
    получается да
    --- Добавлено ---
    такое ощущение что ошибка в самом запросе к базе, поскольку подключение к базе вроде идет
     
  8. alexpride1993

    alexpride1993 Новичок

    С нами с:
    28 мар 2016
    Сообщения:
    56
    Симпатии:
    20
    http://medvedoc.myjino.ru/wp-admin/install.php
    Чувак, ты серьезно? Беги срочно вордпресс устанавливать пока кто нибудь за тебя его не установил XD
     
  9. alexblack

    alexblack Старожил

    С нами с:
    20 янв 2016
    Сообщения:
    640
    Симпатии:
    381
    Ну тебе пишет что ожидается параметр mysqli,а ты ему даешь null,сделай var_dump перед mysqli_query и посмотри,что ты туда передаешь
     
  10. Medvedoc

    Medvedoc Активный пользователь

    С нами с:
    17 окт 2011
    Сообщения:
    65
    Симпатии:
    0
    такое ощущение что ошибка в самом запросе
    --- Добавлено ---
    там ничего нет, а ссылку я другую давал. это просто хостинг
     
  11. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.989
    Симпатии:
    759
    эта строка не нужна. БД выбирается в самом подключении.
    покажи строку 921.
    Твои ошибки говорят о том, что нет первого параметра, а мервый параметр - это ID соединения с БД ($mysql_connect).
    Значит не отрабатывает mysqli_connect. Проверь правильность логина, пароля и названия БД.
    --- Добавлено ---
    файл твой скачивать лень.
     
  12. Medvedoc

    Medvedoc Активный пользователь

    С нами с:
    17 окт 2011
    Сообщения:
    65
    Симпатии:
    0
    вообщем решил проблему объявление глобальной переменной =)
    --- Добавлено ---
    Объявил global $mysql_connect; над строкой 921 и все заработало
     
  13. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.989
    Симпатии:
    759
    ну красафчик... теперь почитай про область видимости переменных в php на будущее..
     
  14. Medvedoc

    Medvedoc Активный пользователь

    С нами с:
    17 окт 2011
    Сообщения:
    65
    Симпатии:
    0
    Спасибо =) я только начал осваивать толком php