Я начинаю php-программист и попытался создать систему регистрации/входа в систему с базой данных. Система работает дома по последней версии phpmyadmin, но моя школа еще не обновила ее до последней версии (не беспокойтесь, это не домашняя работа). Проблема в том, что в школе mysql_num_rows
возвращает 0, когда я пытаюсь войти, но возвращает 1, когда я пытаюсь войти в систему дома. Мой учитель сказал, что версия phpmyadmin может вызвать эту проблему. Версия в школе: 4.5.2.Функция mysql_num_rows возвращает 0 в более старой версии phpmyadmin
Вот мой login.php файл:
<?php
include('connect.php');
session_start();
$error = "";
$emailaddress = $_POST["emailaddress"];
$password = $_POST["password"];
if(empty($emailaddress) || empty($password)){
$error = "Email or password is invalid!";
echo $error;
}
else{
$queryforlogin = mysql_query("SELECT * FROM users WHERE emailaddress='$emailaddress' AND password='$password'");
$rows = mysql_num_rows($queryforlogin);
if($rows==1){
$_SESSION['login_user'] = mysql_query("SELECT firstname FROM users WHERE emailaddress='$emailaddress'");
$username = mysql_fetch_array($_SESSION['login_user']);
echo "Welcome, " . $username['firstname'] . "!";
}
else{
$error = "Email or password not found!";
echo $error;
}
mysql_close($connect);
}
?>
Если я нажимаю кнопку для входа на веб-странице, он дает мне ошибку: Email или пароль не найден! (последний else-statement). Он выполняет код в файле, но не выполняет код под if ($ rows == 1). Есть ли что-нибудь, что я могу сделать, чтобы этот код работал? Опять же, этот код действительно работает дома, но не в школе в более старой версии. Я спросил своего учителя, может ли он обновить phpmyadmin, но другие классы работают с phpmyadmin прямо сейчас, так что это невозможно. Надеюсь, вы поймете мой вопрос. Извините за мой английский, это не мой родной язык.
@JohnAnkanna Что вы изменили в запросе? Разве это не то же самое? –
Проверьте, сколько пользователей у вас есть в базе данных с проверенной почтой и паролем, т. Е. Существует ли возможность $ rows быть более 1? и что-то еще - в первом наборе результатов у вас уже есть данные пользователя (имя), поэтому нет необходимости делать другой вызов db. – mitkosoft
@mitkosoft Это может быть проблема. Я заметил, что при старшей версии в школе, Auto Increment id не сбрасывается до 1, когда я удаляю всех пользователей в таблице. Возможно, пользователи «все еще там», но просто невидимы. Может ли это так? –