mysqli_query возвращает bool (false) все время

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 возвращает мне ложь снова.

-2

Решение

У вас много проблем в этом, но вот что я бы попробовал:

 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 для подключения к базе данных.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]