Пытаюсь подключиться к базе постоянным конструктором
$mysqli = new mysqli($host, $user, $pass, $db);
$mysqli->query("SET NAMES UTF8");
После чего использую готовый $mysqli вне функций, процедурным методом - всё работает.
Как только пытаюсь использовать в функции
function enter(){
$error = array();
if($_POST['login'] != '' && $_POST['pass'] != ''){
$login = strip_tags($_POST["login"]);
$pass = strip_tags($_POST["pass"]);
$user = $mysqli->query("SELECT * FROM `users` WHERE `login` = '$login' LIMIT 1");
if($user){
if($pass == $user->pass){
setcookie('login',$user->login, time() + 50000);
setcookie('pass',$user->pass, time() + 50000);
$_SESSION['id'] = $user->id;
$id = $_SESSION['id'];
lastAct($id);
return $error;
}
else {
$error[] = 'Пароль не подходит';
return $error;
}
}
else {
$error[] = 'Пользователь не найден';
return $error;
}
}
else {
$error[] = 'Поля должны быть заполнены';
return $error;
}
}
Вообще файлы, в которых это записано подключаются методом require в index.php, тысячу раз перепроверил видят ли эти файлы друг друга - да, видят. Однако если поставить подключение к базе непосредственно перед функции - ситуация та же.
Notice: Undefined variable: mysqli in C:\xampp\htdocs\localhost\public_html\templates\user\auth.php on line 68
Fatal error: Uncaught Error: Call to a member function query() on null in C:\xampp\htdocs\localhost\public_html\templates\user\auth.php:68 Stack trace: #0 C:\xampp\htdocs\localhost\public_html\index.php(23): enter() #1 {main} thrown in C:\xampp\htdocs\localhost\public_html\templates\user\auth.php on line 68
68 строчка того самого файла
$user = $mysqli->query("SELECT * FROM `users` WHERE `login` = '$login' LIMIT 1");
Ругается на $mysqli
Памагити
Спасибо