Я допустил ошибку новичка при обработке данных формы с помощью моего приложения на PHP и Javascript, где я не ожидал и не поддерживал апострофы (') в текстовом поле.
Еще больше беспокоит то, что в приложении из нескольких десятков тысяч строк я использовал одинарные кавычки или '', чтобы заключать переменные, включающие HTML и переменные, которые могут включать апостроф из этой же таблицы, вместо использования кавычек ("") и экранирования HTML.
Перед тем, как изменить данные $ _POST, которые вводятся в данные MySQL, с помощью функции PHP real_escape_string, функция , которая по-прежнему сохраняет текст с апострофом, без косых черт. Затем, изменив каждый экземпляр, в котором переменная определена с апострофом, и изменив ее на кавычки ("") и затем выбрав экранирование, я хотел спросить здесь, не упустил ли я что-то.
Вот пример того, что я могу сделать с данными $ _POST, используя функцию PHP / Mysql выше
$ db-> real_escape_string ($ _ POST [ "имя"])
где "имя" = О'Брайен
В базе данных хранится как О'Брайен, а не О'Брайен
Когда я читаю эти данные во внешний интерфейс, это делается так:
var options = '<option value="<?php echo $row[$name];?>" selected><?php echo $row[$name];?></option>';
В этих случаях, когда имя включает апостроф, консоль javascript выдает ошибку «Uncaught SyntaxError: missing) после списка аргументов», что имеет смысл.
Я надеюсь на предложения о том, как решить эту проблему с наименьшими усилиями / временем, но сделано ПРАВИЛЬНО, что не вызывает никаких проблем при использовании апострофов или даже цитат в будущем.