За последние 24 часа нас посетили 53869 программистов и 1712 роботов. Сейчас ищут 804 программиста ...

mysqli_query() expects parameter 1 to be mysqli, null given

Тема в разделе "Прочие вопросы по PHP", создана пользователем Nemovok, 30 окт 2015.

  1. Nemovok

    Nemovok Новичок

    С нами с:
    30 окт 2015
    Сообщения:
    23
    Симпатии:
    0
    Здравствуйте! Есть функция connect. Из нее нужно вытащить $connect и поместить ее в mysqli_query() в функцию welcome. Как это можно организовать?
    Код (PHP):
    1.         /********** Функция соединения с базой данных (BEGIN) **********/
    2.         function connect($host, $user, $password, $dbname)
    3.         {
    4.             $connect = @mysqli_connect("$host","$user","$password","$dbname");
    5.             if (!$connect) 
    6.             {
    7.                 $error = "Нет соединения с базой данных";
    8.                 echo "$error";
    9.                 exit();
    10.             }
    11.         }
    12.         /********** Функция входа (BEGIN) **********/
    13.         function welcome()
    14.         {
    15.             if (!first_check($string = $_POST['login']) AND !second_check($string = $_POST['login'])) 
    16.             {
    17.                 if (!connect($host = "localhost", $user = "root", $password = "root", $dbname = "admin"))
    18.                 {
    19.                     $login = $_POST['login'];
    20.                     $sql = ("SELECT login, password FROM users WHERE login = '$login'");
    21.                     $query = mysqli_query($connect, $sql); # Вот здесь не видит $connect
    22.                     $data = mysqli_fetch_assoc($query);
    23.                 }
    24.             }
    25.         }
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
  3. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    Re: mysqli_query() expects parameter 1 to be mysqli, null gi

    использовать ключевое слово return, а полученный ресурс передать в welcome() (:)
    но уж точно, не так как вы делаете вызов одной ф-ци в другой (;
     
  4. Nemovok

    Nemovok Новичок

    С нами с:
    30 окт 2015
    Сообщения:
    23
    Симпатии:
    0
    Re: mysqli_query() expects parameter 1 to be mysqli, null gi

    Не понял как использовать return в моем случае, помогите пожалуйста(
     
  5. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    если оставить всё что есть в виде "каши", то будет выглядеть вот так:
    Код (PHP):
    1. <?php
    2. /********** Функция соединения с базой данных (BEGIN) **********/
    3. function connect( $host = '', $user = '', $password = '', $dbname = '' )
    4. {
    5.         $connect = mysqli_connect( $host, $user, $password, $dbname );
    6.         if (!$connect) 
    7.         {
    8.                 $error = "Нет соединения с базой данных";
    9.                 echo "$error";
    10.                 return false;
    11.         }
    12.         
    13.         return $connect;
    14. }
    15.  
    16. /********** Функция входа (BEGIN) **********/
    17. function welcome()
    18. {
    19.         if (!first_check($string = $_POST['login']) AND !second_check($string = $_POST['login'])) 
    20.         {
    21.             $connect = connect( "localhost", "root", "root", "admin" );
    22.             if (!$connect) return;
    23.             
    24.             $login = $_POST['login'];
    25.             $sql = ("SELECT login, password FROM users WHERE login = '$login'");
    26.             $query = mysqli_query($connect, $sql); # Вот здесь не видит $connect
    27.             $data = mysqli_fetch_assoc($query);
    28.         }
    29. }
    30.  
    31.  
     
  6. Nemovok

    Nemovok Новичок

    С нами с:
    30 окт 2015
    Сообщения:
    23
    Симпатии:
    0
    Re: mysqli_query() expects parameter 1 to be mysqli, null gi

    Большущее спасибо, будем разбираться)
     
  7. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    Re: mysqli_query() expects parameter 1 to be mysqli, null gi

    пожалуйста ((((((((:)