Я встретил синтаксис ошибки при тестировании SQL-инъекции на странице входа. ⇐ Php
-
Гость
Я встретил синтаксис ошибки при тестировании SQL-инъекции на странице входа.
Когда я пытаюсь проверить, как работает SQL-инъекция на моей странице входа, мой код:
публичная функция входа() { $db = новая база данных(); //------------------------------------------------ ---------------- ------------------------------------------------ $p = $this->getPhone(); $pa = $this->getPassword(); //------------------------------------------------ -------------------------------------------------- ------------------------------ // $sql = "ВЫБРАТЬ * ИЗ dbo.Account WHERE телефон =? и пароль =?"; //------------------------------------------------ -------------------------------------------------- -- $sql = "ВЫБРАТЬ * ИЗ dbo.Account ГДЕ телефон = $p и пароль = $pa"; //------------------------------------------------ -------------------------------------------------- -- // Используйте массив для передачи параметров в правильном порядке // $params = array($this->phone, $this->password); // var_dump($sql); //------------------------------------------------ -------------------------------------------------- -- // $result = $db->query($sql,$params); //------------------------------------------------ -------------------------------------------------- $result = $db->query($sql); // var_dump($result); если ($результат) { // Проверяем, есть ли соответствующий пользователь если ($результат > 0) { вернуть истину; Это } еще { // Неверный телефон или пароль вернуть ложь; } } еще { // Ошибка в запросе // Возможно, вы захотите зарегистрировать ошибку или обработать ее соответствующим образом вернуть ложь; } } Итак, я встретил эту ОШИБКУ при запуске PHP с XAMPP:
Массив ( [0] => Массив ( [0] => 42000 [SQLSTATE] => 42000 [1] => 102 [код] => 102 [2] => [Microsoft][ODBC Driver 17 для SQL Сервер][SQL Server]Неверный синтаксис рядом с '&'. [сообщение] => [Microsoft][Драйвер ODBC 17 для SQL Server][SQL Server]Неправильный синтаксис рядом с '&'. ) )
Как я могу это исправить?
Я пытался это исправить, но это не помогло
Когда я пытаюсь проверить, как работает SQL-инъекция на моей странице входа, мой код:
публичная функция входа() { $db = новая база данных(); //------------------------------------------------ ---------------- ------------------------------------------------ $p = $this->getPhone(); $pa = $this->getPassword(); //------------------------------------------------ -------------------------------------------------- ------------------------------ // $sql = "ВЫБРАТЬ * ИЗ dbo.Account WHERE телефон =? и пароль =?"; //------------------------------------------------ -------------------------------------------------- -- $sql = "ВЫБРАТЬ * ИЗ dbo.Account ГДЕ телефон = $p и пароль = $pa"; //------------------------------------------------ -------------------------------------------------- -- // Используйте массив для передачи параметров в правильном порядке // $params = array($this->phone, $this->password); // var_dump($sql); //------------------------------------------------ -------------------------------------------------- -- // $result = $db->query($sql,$params); //------------------------------------------------ -------------------------------------------------- $result = $db->query($sql); // var_dump($result); если ($результат) { // Проверяем, есть ли соответствующий пользователь если ($результат > 0) { вернуть истину; Это } еще { // Неверный телефон или пароль вернуть ложь; } } еще { // Ошибка в запросе // Возможно, вы захотите зарегистрировать ошибку или обработать ее соответствующим образом вернуть ложь; } } Итак, я встретил эту ОШИБКУ при запуске PHP с XAMPP:
Массив ( [0] => Массив ( [0] => 42000 [SQLSTATE] => 42000 [1] => 102 [код] => 102 [2] => [Microsoft][ODBC Driver 17 для SQL Сервер][SQL Server]Неверный синтаксис рядом с '&'. [сообщение] => [Microsoft][Драйвер ODBC 17 для SQL Server][SQL Server]Неправильный синтаксис рядом с '&'. ) )
Как я могу это исправить?
Я пытался это исправить, но это не помогло
Мобильная версия