2015-10-12 1 views
-1

В первом случае это мое соединение MySQLi
Функция не working-- Ошибка: Вызов функции член запроса() на нуль

$mysqli = new mysqli(...); 

Во втором случае мой запрос

$mysqli->query(...); 

I получаю ошибку

Call to a member function query() on null

образец:

function first() 
{ 
    $i = 1; 
} 

function second() 
{ 
    global $i; 
    return $i; 
} 
echo second(); 

Пустой экран.

если подобный код

$i = 1; 

function second() 
{ 
    first(); 
    global $i; 
    return $i; 
} 
echo second(); 

то работает, но мне нужен первый случай

ответ

0

В вашей «функции первой()», $ я объявлен в качестве локальной переменной. На него нельзя ссылаться вне функции first(). Таким образом, когда вы вызываете «global $ i», вы получаете значение «null», поскольку глобальные переменные не называются $ i.

В вашем втором примере вы указали переменную $ i вне функций, что делает ее глобальной. Итак, когда вы называете «global $ i». Вы ссылаетесь на переменную $ i, которую вы устанавливаете равной 1. В результате возвращаемое значение равно «1» вместо «null».

Дополнительную информацию о локальных и глобальных переменных см. В документации по PHP. Он содержит пример ТОЧНО, как ваш. http://php.net/manual/en/language.variables.scope.php