Я очень расстроен.Я хочу иметь возможность вставлять в мою базу данных имена в одинарных кавычках - например, О'Коннор.
Итак, вставляя в БД, я делаю:
$lname = mysql_real_escape_string($_POST['lname']);
И затемЯ вставляю $ lname в базу данных.
Когда она находится в базе данных, она выглядит как O \ 'Connor.
Итак, если бы я вспомнил эту фамилию в своем веб-приложении, япридется использовать:
$lname = stripslashes($r["lname"]);
Кажется, все это работает нормально.Тем не менее, у меня есть функция поиска, которая будет искать фамилии и отображать результаты.Когда я ищу, мне нужно искать O \ 'Connor, чтобы получить какие-либо результаты.
Видите ли, после того, как я ищу, текстовое поле автоматически сохраняет значение того, что только что искали (используя сеансы).Итак, мой код такой:
$search = mysql_real_escape_string($_GET['search']);
$_SESSION['search'] = $search;
Как я уже говорил ранее, при поиске я должен использовать «O \ 'Connor», а затем после поиска значение в текстовом поле становится «O \».\\\ 'Коннор "
Это было неприятно пытаться понять это.Кто-нибудь знает, что я делаю не так?Спасибо!
РЕДАКТИРОВАТЬ:
Вот мой файл php5.ini, касающийся магических цитат:
; Magic quotes
;
; Magic quotes for incoming GET/POST/Cookie data.
magic_quotes_gpc = On
; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.
magic_quotes_runtime = Off
; Use Sybase-style magic quotes (escape ' with '' instead of \').
magic_quotes_sybase = Off
Однако мой сайт размещен на GoDaddy, а я нетесть права на редактирование файла: (