#php #mysql
#php #mysql
Вопрос:
У меня есть форма, которая запрашивает имя. Php для его обработки является:
$name = mysqli_real_escape_string($dbc, trim($_POST['name']));
Когда кто-то вставляет имя с апострофом, например, Dan O’Shea, оно отображается в базе данных mysql нормально, но на веб-странице его вывод отображается как Dan O Shea.
Как мне избавиться от обратной косой черты и показать ‘апостроф на веб-странице? Могу ли я использовать str_replace(‘/’,», $string) с mysqli_real_escape_string , и если да, то как?
Спасибо за любую помощь,
Энди 😉
Ответ №1:
используется stripslashes()
для удаления лишних обратных косых черт.
Комментарии:
1. Спасибо joaofgf, это с или без mysqli_real_escape_string ?
2. с
mysqli_real_escape_string()
3. @AndyR Используйте его, когда вы показываете данные на странице.
stripslashes($row['name']);
4. Привет Zerquix18 и joaofgf, при использовании локального хостинга у меня нет проблемы, это происходит только на бесплатной учетной записи хостинга. Так они очень осторожны или что?
5. ваш хостинг-провайдер
gpc_magic_quotes
включил, а ваш локальный сервер — нет.
Ответ №2:
Похоже, вы gpc_magic_quotes
включили.
Комментарии:
1. Спасибо, Энди. Проблема не в моем локальном хосте — там все работает нормально. Проблема, похоже, возникает только тогда, когда я размещаю код на бесплатном хостинг-провайдере. В конце концов, я перейду на платный хостинг, как только сайт будет завершен, я просто тестирую и обнаружил эту проблему. Это распространено? Еще раз спасибо, Энди 😉
2. Я не знаю, насколько обычными могут быть вещи. Я работаю только с серверами, которые я администрирую напрямую.