Создал класс для Логина на сайте, но остановился так как появилась ошибка
Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, null given in D:\openserver\OSPanel\domains\localhost\safemysql.php on line 560
Warning: mysqli_real_escape_string() expects parameter 1 to be mysqli, null given in D:\openserver\OSPanel\domains\localhost\safemysql.php on line 560
Warning: mysqli_query() expects parameter 1 to be mysqli, null given in D:\openserver\OSPanel\domains\localhost\safemysql.php on line 466
Мой код -
<?php
require_once "../../safemysql.php";
class Login extends SafeMySql {
private $username;
private $password;
function __construct() {
$this->username=$_POST['username'];
$this->password=$_POST['password'];
}
public function check(){
if($this->username=="" || $this->password==""){
echo "Password or Username is empty.";
exit();
}else {
$this->getAll("SELECT * FROM users WHERE username=?s AND password=?s",$this->username,$this->password);
}
}
}
if(isset($_POST['reg'])){
header('Location: ../register.php');
}else{
$login = new Login();
$login->check();
}
?>
Сам класс - https://github.com/colshrapnel/safemysql/blob/master/safemysql.class.php
Вопрос - С чей стороны ошибка? С моей или со стороны класса?
Вы в своем классе переопределяете конструктор родителя, в котором устанавливается соединение с БД. Поэтому соединение в Вашем классе не определено Стоит сделать
$defaults
, прописав в него параметры соединения с базой (этот вариант похуже)PS. логин и пароль тоже лучше передавать в конструктор и перед этим "очищать" от sql инъекций
Виртуальный выделенный сервер (VDS) становится отличным выбором
Пытаюсь вытащить из бд значенияИспользую PreparedStatement для подготовки sql-запроса
Как сохранить значение переменной типа boolean? Использую javaМожет как то можно через SharedPreferences?
Как добавить класс блоку и через некоторое время удалить его?
Всем приветВот познаю js и в результате работы сталкнулся со следующий проблемой