Отправка значения базы данных, которое включает точку с запятой в строке? - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть стандартное поле ввода, которое отправляет значение непосредственно в базу данных, однако использование точки с запятой в строке приводит к искажению значения базы данных.

(Пример 1) Ввод текстаЗначение:

<input type="text" id="security_check" value="a:1:{i:0;s:10:"1234567890";}">

Значение базы данных Результат:

security_check: s:28:"a:1:{i:0;s:10:"1234567890";}";

Вы заметите, что он добавляет s: 28: "before и«;после

Когда я заключаю значение в скобки, оно выглядит нормально, но тогда в значение БД входят скобки, которые не работают, поскольку должны быть точными.

(Пример 2) Значение ввода текста:

<input type="text" id="security_check" value="[a:1:{i:0;s:10:"1234567890";}]">

Значение базы данных Результат:

security_check: [a:1:{i:0;s:10:"1234567890";}]

Есть ликаким образом я могу отформатировать входное значение перед отправкой, чтобы оно отображалось в БД с включенной точкой с запятой, точно так, как было написано изначально?

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

Вы используете подготовленные операторы или динамически строите свой запрос и выполняете его?Этот тип проблемы может возникнуть, если вы не используете подготовленный оператор, а также хорошо подготовленные операторы уменьшают, если не исключают, возможность атак с использованием SQL-инъекций.

0 голосов
/ 04 февраля 2019

Я думаю, что вы сохранили сериализованные данные в базе данных в сериализованной строке данных или в массиве сериализованных счетчиков, добавленных перед строкой в ​​поле базы данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...