[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Символ ' в вставляемом тексте
Гость_Андрей
Добрый день.
С php знаком знаком поверхностно, появилась необходимость написать небольшой скрипт,который вставляет в базу данных текст.
Проблема в том, что при моем варианте написания кода, когда в тексте встречается знак ',вылетает ошибка. Вот мой код :

$sql="Insert into jahts(`fieldname`) values ('$text')";
mysql_query($sql);

Чтобы избавиться от знаков ' в тексте(который в переменной $text) использую вот такую строку :

$text=str_replace("'","''",$text);

Также пробовал вот такой вариант :

$text=str_replace("\'","\''",$text);

В некоторых местах апостроф заменяется,а в некоторых,как например, $text='John's book' нет и вылетает ошибка sql,так как сервер БД думает что апостроф перед буквой s - закрывающий.

Собственно просьба : исправьте,пожалуйста, у код чтобы этот апостроф не вызывал ошибку.
Возможно,у кого-то есть правильно написанное выражение для eregi_replace, которое отлавливает и заменяет все апострофы.

С уважением.



Спустя 8 минут, 19 секунд (16.04.2012 - 07:21) Панч написал(а):
попробуй так

$text=str_replace("'","\'", $text);

Спустя 16 минут, 5 секунд (16.04.2012 - 07:37) Игорь_Vasinsky написал(а):
mysql_real_escape_string() при записи в БД

Спустя 12 минут, 28 секунд (16.04.2012 - 07:50) Guest написал(а):
Цитата (Игорь_Vasinsky @ 16.04.2012 - 04:37)
mysql_real_escape_string() при записи в БД

Спасибо, проблема решена.

Спустя 24 минуты, 14 секунд (16.04.2012 - 08:14) Гость_Андрей написал(а):
Прошу прощения, ошибка вес еще сохраняется.
Вот пример где не срабатывает :
$text="O'CEANOS";
после
$text=mysql_real_escape_string($text);
$text="O\'CEANOS";

И снова при выполнении запроса вылетает ошибка из-за одинарного апострофа в тексте.
После выполнения преобразований должно быть : $text="O''CEANOS";

Спустя 12 минут, 24 секунды (16.04.2012 - 08:26) Игорь_Vasinsky написал(а):
mysql_real_escape_string() - всё сама экранирует, stripslashes() - поможет вывести всё в первоначальном виде.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.