У меня проблема с использованием mysql_query. Я всегда получаю нулевой результат, даже если мой запрос правильный, потому что я попытался выполнить свой запрос непосредственно в базе данных, и я получил результат.
Пожалуйста, смотрите мой код ниже:
<?php
$username = $_POST['user'];
$password = $_POST['pass'];
$username = stripcslashes($username);
$password = stripcslashes($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);mysql_connect("localhost","root","");
mysql_select_db("login");
$query = sprintf("select * from users where username='$username' and password='$password'");
$result = mysql_query($query);
$row = mysql_fetch_array($result);
if($row['username'] == $username && $row['password'] == $password)
{
echo "Login Successful! Welcome".$row['username'];
}
else{
echo "Login Failed";
}
?>
Вы используете sprintf, но не указали переменные-заполнители, и вместо одинарных кавычек вы используете одинарную кавычку, чтобы переменные не анализировались.
Помогите себе, добавив немного отладки.
После этого…
$result = mysql_query($query);
Добавь это…
if (!$result) {
die('Invalid query: ' . mysql_error());
}
Сохраните и повторно запустите код.
Дайте нам знать, если вы получите mysql_error ().
Вы должны проверить, успешно ли завершился запрос.
if (! $ result) {
print mysql_error ();
умереть();
}
mysql
устарел. использование PDO