Одинарная кавычка в текстовом поле php

252
22 июля 2021, 06:50

Есть текстовое поле с именем nickname. Из него значение передается в базу данных.

$insert = mysqli_query($link,"INSERT INTO kos (nickname,reason,game_class,Eternal) VALUES ('".$_POST[nickname]."','$_POST[reason]','$_POST[game_class]','$_POST[Eternal]')");

Но если значение содержит одинарную кавычку, то выводит ошибку. Неверный sql синтаксис.

Answer 1

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

$name = str_replace ( "'", "\\'" , $_POST[nickname]);
$insert = mysqli_query($link,"INSERT INTO kos (nickname) VALUES ('$name')");

То же самое касается остальных полей. У вас в запросе открытая уязвимость к SQL-инъекции https://habr.com/ru/post/148151/

READ ALSO
Разделить объект на столбики

Разделить объект на столбики

Я хочу разделить данные на 2 столбика в цикле foreachВот моё представление

286
mysql_query php не работает

mysql_query php не работает

Не работает отправка запросаХочу получить число строк, а потом в цикле фор обработать вывод элементов графы username

424
Как получить headers из входящего запроса php

Как получить headers из входящего запроса php

Я хочу получить строку authorization из входящего запроса php (php://input) Пробовал использовать функцию

285
AliExpress запрос к API на php

AliExpress запрос к API на php

Пытаюсь сделать запрос к api aliexpress метод generatePromotionLinks что вставлять в параметр urls как организовать параметр _aop_signature:

240