public function verify_login($email, $password) {
$this->Connect();
`email`=`$email` AND `password`=`$password` ";
$sql = "SELECT email,password FROM `users_details` WHERE
`email`='$email' AND `password`='$password' ";
if ($this->res=mysqli_query($this->ind_connect, $qry)) {$num_row = mysqli_num_rows($this->res);
$row = mysqli_fetch_assoc($this->res);
if ($num_row == 1) {
echo 'true';
$_SESSION['email'] = $row['email'];
$_SESSION['password'] = $row['password'];
}
} else {
echo 'errr';
}
$this->Disconnect();
}
привет, я пытаюсь сделать простой запрос и функция «mysqli_query ($ this-> ind_connect, $ qry)» все время возвращает мне false
1. соединение возвращается «истина» 2. я пытаюсь изменить запрос на самый простой запрос, как «SELECT * из users_details
и mysqli_query возвращает мне ложь снова.
У вас много проблем в этом, но вот что я бы попробовал:
public function verify_login($email, $password) {
$conn = $this->Connect(); //Make sure $this->Connect(); returns the connection. (Where mysqli_connect(host,user,pass,dbname); is called)
//Never inject variables into SQL without escaping the information first for SQL security reasons.
$email = mysqli_real_escape_string($conn, $email);
$password = mysqli_real_escape_string($conn, $password);
$query = "`email`='$email' AND `password`='$password';";
$sql = "SELECT `email`, `password` FROM `users_details` WHERE $query";
if ($this->res=mysqli_query($this->ind_connect, $qry)) {
$num_row = mysqli_num_rows($this->res);
$row = mysqli_fetch_assoc($this->res);
if ($num_row == 1) {
echo 'true';
$_SESSION['email'] = $row['email'];
$_SESSION['password'] = $row['password'];
}
} else {
echo 'errr';
}
$this->Disconnect();
}
Я заметил, что в одной из ваших строк SQL вы использовали одинарные кавычки « вместо правильных » при проверке по электронной почте и паролю. Имя должно быть внутри «, а значение всегда должно быть внутри », если не имеет дело с другим типом данных.
Я настоятельно рекомендую исправить проблему безопасности, так как возможна инъекция SQL.
Я бы порекомендовал вам перейти на что-то более современное и безопасное, например, PDO для подключения к базе данных.
Других решений пока нет …