Я перехожу от стандартных сообщений формы (к PHP PDO) к асинхронным сообщениям XHR для обновления базы данных mysql (снова PHP PDO), используя подготовленные операторы, вызывающие хранимые процедуры mysql.
Использование HTMLSpecialCharacters / UTF-8 и т. Д. Для очистки входных данных (как в версии XHR, так и в форме пост-версии). Также установите charset = utf8 в моей строке подключения PDO.
Проблема заключается в том, что если я передам версии XHR строку, содержащую "#", обновление завершится неудачно. Возвращенная ошибка SQLSTATE [23000] указывает, что совершенно отдельный столбец не может быть пустым (согласно ограничению таблицы).
Введено несколько полей, и независимо от того, какое из них содержит «#», одно и то же нулевое ограничение нарушается.
Обратите внимание, что поле, устанавливаемое на ноль, является последним, установленным с помощью $ stmt-> bindvalue.
Кроме того, я использую $ _GET [] в значениях связывания, а не $ _POSTкоторая была проблемой в аналогичном вопросе.
Я понимаю, что мог бы заменить "#" при записи и вернуть его на чтение (я уже делаю это с переносами строк), но у меня подлыйПодозрение, что я здесь упускаю что-то фундаментальное (я немного новичок в AJAX и PHP).
Нет никаких проблем с "#" (или разрывами строк) в стандартном посте формы.
TIA для любых указателей