Я преобразовал мою страницу входа в систему, чтобы использовать PDO
, но теперь она не работает. Я проверил все виды примеров кода, и я не могу понять, где я ошибаюсь. Это выглядит идеально для меня. Также отчет об ошибках полностью включен, и все же я не получаю никаких ошибок. Я просто получаю ошибку браузера, чтобы страница была «неправильно настроена». FYI, это SQL
дблогин завершается неудачно с правильной информацией, используя PDO
// Код
<?php
require ("../Android/connect_db.php");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
try {
$query_unpw = $db->prepare("
SELECT member_mast.company_name
FROM member_mast
WHERE username = ?
AND password = ?
");
//$username = $_POST['username'];
//$password = $_POST['password'];
$username = 'abc';
$password = 'abc';
$name = "name";
$query_unpw->bindValue(1, $username, PDO::PARAM_STR);
$query_unpw->bindValue(2, $password, PDO::PARAM_STR);
$query_unpw->execute();
$count = $query_unpw->rowCount();
if ($count > 0) {
while ($row = $query_unpw->$fetch(PDO::FETCH_ASSOC)) {
$name = $row['company_name'];
}
echo $name;
} else {
echo "Username/Password is invalid";
}
} catch(PDOException $e) {
die($e->getMessage());
}
?>
Теперь единственное, что я смог выяснить, после того, как комментируя различные куски кода, что если я закомментируйте имя пользователя и пароль, как это
//$username = 'abc';
//$password = 'abc';
Затем загрузки страницы и просто дает мне мой else
эхо «Имя пользователя/пароль неверен». Однако я не думаю, что я использую их неправильно, и я знаю, что они верны. Итак, очевидный вопрос: я слепой, что здесь не так? Вопрос бонуса, так как я буду использовать _POST
для этих переменных, когда это работает, правильно ли я дезинфицирую пользовательские входы? Еще очень новый для PDO
, и я хочу убедиться, что я делаю это правильно. Спасибо за помощь!
Возможно, у вас нет ошибок PHP вообще? Если вы этого не сделаете, вы получите 500 Internal Server Error, что не совсем полезно ... Попробуйте создать фальшивую ошибку PHP. – silkfire
Вам следует избегать хранения паролей в вашей базе данных. Вместо этого вы должны создать уникальную соль для каждого пользователя и хешировать свой пароль. – Paulpro
@Paulpro У меня 0 контроль над этим, к сожалению. Я не создал эту базу данных. Я просто использую его. Как я сказал, правильно ли я дезинфицирую эти ресурсы? –