Как хранить данные, содержащие кавычки в MySQL

В одной из моих форм я использую богатый текстовый редактор от Yahoo !. Теперь я хочу сохранить данные из этого текстового поля в базе данных MySQL.

Пользователь может вводить что-либо в этом текстовом поле, например, много двойных или одинарных кавычек.

Как я могу хранить эти данные?

Обычно мы сохраняем, добавляя эти данные в одну переменную, а затем помещаем их в sql, но кавычки вызывают проблемы.

Вы используете подготовленный PDO оператор (или mysql_real_escape_string )

Вы можете использовать mysql_real_escape_string() .

Вызывает специальные символы в unescaped_string, принимая во внимание текущий набор символов соединения, чтобы можно было разместить его в mysql_query (). Если необходимо вставить двоичные данные, эту функцию необходимо использовать.

mysql_real_escape_string () вызывает библиотечную функцию MySQL mysql_real_escape_string, которая добавляет обратную косую черту к следующим символам: \ x00, \ n, \ r, \, ', "и \ x1a.

Эта функция должна всегда (за небольшим исключением) использоваться для обеспечения безопасности данных перед отправкой запроса в MySQL.

например

 $value = mysql_real_escape_string(" ' \" etc "); $sql = "INSERT INTO blah VALUES ('$value')"; 

Но лучшим решением является использование PDO и подготовленных операторов .

Если PDO не является вариантом, вы, возможно, сможете использовать mysqli вместо курса с подготовленным оператором .

Еще лучше! При отправке содержимого в базу данных используйте addlashes ();

При извлечении и отображении строки используйте stripslashes ();

$ string = "Это потрясающе!";

addslashes ($ строка); выйдет как «Удивительно» в базе данных (и ничего не сломает)

Затем stripslashes ($ string); вернет его в норму.

http://php.net/manual/en/function.addslashes.php

Я использую это все время – просто и прямо.

Спасибо вам, ребята,
для вашего воспроизведения.
Но я только заменил символы кавычек … этим ..

 html = html.replace(/\'/g, "'"); // 39 is ascii of single quotes html = html.replace(/\"/g, """); // 39 is ascii of double quotes 

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

Но спасибо за ваш повтор ..


Nitish.
Корпорация Панчьяна