Задать вопрос
@alohamneploha
ничего не умею

Как правильно передать переменную в запрос к БД?

Для выборки нужно передавать значение переменной ID. Как это сделать наиболее безопасно?

$id = $_GET["id"];

$res = $mysqli->query("SELECT * FROM goods WHERE id = '$id'");
  • Вопрос задан
  • 126 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Использовать подготовленные выражения с плейсхолдерами.
Ответ написан
Комментировать
GM_pAnda
@GM_pAnda
Бездельник
Если пишите что-то своё и вам нужно использовать базу, то что бы не придумывать велосипед с PDO, использую ORM RedBeanPHP, именно эта ORM себя зарекомендовала себя хорошо. Легка в использовании, хорошая документация и довольно быстрая
Ответ написан
Комментировать
kotomyava
@kotomyava
Системный администратор
Если учитесь, то срочно забывайте о существовании mysql(i), и осваивайте PDO. Используйте привязку параметров и подготовленные выражения. И никогда не используйте переменные в тексте запроса...

Если по какой-то причине, это какой-то legacy код, который нельзя переписать и обязательно надо использовать mysqli, то по меньшей мере, проверьте тип и значение id, например, с помощью filter_var($id, FILTER_VALIDATE_INT). Или другим подходящим способом. Внимание: не is_int(), т.к. $_GET["id"] это строка...
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы