Эй, я изучаю новый способ запросов к моим базам данных, потому что он предназначен для того, чтобы быть лучше и безопаснее, это я строю подготовленные заявления, которые можно использовать повторно.
Проблема в том, что это другой способ взглянуть на него, и я к нему еще не привык, и у меня все еще есть некоторые вещи, которые мне не понятны.
Так что мой скрипт пытается привязать три параметра к запросу, чтобы позволить пользователю войти на мой сайт. Я использую тот же скрипт, что и раньше, это имя пользователя и пароль ... Это прекрасно работает:
$query = "SELECT *
FROM user
WHERE email = ? AND password = ?
LIMIT 1";
if($stmt = $this->conn->prepare($query))
{
$stmt->bind_param('ss', $un, $pwd);
$stmt->execute();
if($stmt->fetch())
{
//$uid = $stmt->fetch(id);
//$_SESSION['uid'] = $uid;
$stmt->close();
return true;
}
}
но когда я проверяю, является ли пользователь администратором, мне это совсем не нравится:
$query = "SELECT *
FROM user
WHERE email = ? AND password = ? AND isAdmin = ?
LIMIT 1";
if($stmt = $this->conn->prepare($query))
{
$stmt->bind_param('ssi', $un, $pwd, $isAdmin);
$stmt->execute();
if($stmt->fetch())
{
//$uid = $stmt->fetch(id);
//$_SESSION['uid'] = $uid;
$stmt->close();
return true;
}
}
Также я объявляю isAdmin как глобальную приватную переменную в начале класса следующим образом:
private $isAdmin = "1";
Так что да, я знаю, что у пользователя, которого я тестирую, есть 1 для isActive в базе данных, но когда он входит в этот скрипт, он возвращает false.
Как я уже говорил, я новичок в этом стиле написания запросов, поэтому любая помощь будет потрясающей.
Спасибо за время.