sonterix
@sonterix

При запросе PDO к базе выдаёт дублированые записи, почему так?

$login = $dbh->query("SELECT * FROM users WHERE login = '$data[login]'");

такой запросы выдаёт каждые данные по 2 раза
array(6) { ["id"]=> string(1) "1" [0]=> string(1) "1" ["login"]=> string(5) "admin" [1]=> string(5) "admin" ["password"]=> string(5) "admin" [2]=> string(5) "admin" }


Id=1
login=admin
password=admin

Как это исправить?
  • Вопрос задан
  • 162 просмотра
Пригласить эксперта
Ответы на вопрос 2
FanatPHP
@FanatPHP
Чебуратор тега РНР
Заканчивалась вторая декада 21 века, а пользователи похапе так и лепили в своем коде тупейшую SQL инъекцию...

query выкидываем на помойку, вместо этого используем prepare с параметрами, а все переменные отправляем в execute.
Ответ написан
Комментировать
@Fortop
Tech/Team lead
Достаточно почитать что означает второй аргумент PDO:
php.net/manual/en/pdo.query.php
Он же первый аргумент, например, у метода
php.net/manual/en/pdostatement.fetchall.php

По умолчанию там PDO::FETCH_BOTH
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы