В документации MySQL сказано, что так и должно быть \'
. Тем не менее, как Scite, так и MySQL показывает, что ''
работает. Я видел это, и это работает. Что я должен делать?
147
В документации MySQL сказано, что так и должно быть \'
. Тем не менее, как Scite, так и MySQL показывает, что ''
работает. Я видел это, и это работает. Что я должен делать?
''
или\'
правильно?\'
является специфичным для MySQL, в то время как''
является совместимым с ANSI SQL, если я не ошибаюсьОтветы:
Документация MySQL, которую вы цитируете, на самом деле говорит немного больше, чем вы упоминаете. Это также говорит,
(Кроме того, вы связались с версией Таблицы 8.1 для MySQL 5.0. Последовательности побега специальных символов , и текущая версия - 5.6, но текущая Таблица 8.1. Последовательности побега специальных символов выглядят очень похоже.)
Я думаю, что примечание Postgres по
backslash_quote (string)
параметру является информативным:Это говорит мне о том, что использование двойных одинарных кавычек является лучшим общим и долгосрочным выбором, чем использование обратной косой черты для экранирования одинарных кавычек.
Теперь, если вы также хотите добавить в уравнение выбор языка, выбор базы данных SQL и ее нестандартных особенностей, а также выбор структуры запроса, тогда у вас может быть другой выбор. Вы не предоставляете много информации о своих ограничениях.
источник
Стандартный SQL использует двойные кавычки; MySQL должен принять это, чтобы быть разумно совместимым.
источник
'
» внутри строки, заключенной в «'
», может быть написано как «''
» , «"
» Внутри строки, заключенной в «"
», может быть написано как «""
». Перед символом кавычки должен стоять символ перехода («` `»).Я считаю, что user2087510 имел в виду:
Я также использовал это с успехом.
источник
просто напишите
''
вместо'
я имею в виду два раза'
источник
Вот пример:
Просто используйте двойные кавычки, чтобы заключить одинарную кавычку.
Если вы настаиваете на использовании одинарных кавычек (и необходимости экранировать персонажа):
источник
Есть три способа, которые я знаю. Первый не самый красивый, а второй самый распространенный в большинстве языков программирования:
'I mustn''t sin!'
\
перед одинарной кавычкой'
:'I mustn\'t sin!'
"I mustn't sin!"
источник
\'
что он используется многими языками программирования, но''
поддерживается большим количеством диалектов SQL, поэтому использование варианта 1 лучше для совместимости. Sqlite, например, не работает с обратной косой чертой.Заменить строку
где значение - это ваша строка, которая будет храниться в вашей базе данных.
https://www.npmjs.com/package/mysql-apostrophe
источник
Я думаю, что если у вас есть данные с апострофом, вы можете добавить один апостроф перед апострофом
например. «Это место Джона»
Здесь MYSQL предполагает два предложения «Это место Джона»
Вы можете поставить «Это место Джона». Я думаю, что это должно работать таким образом.
источник
В PHP мне нравится использовать mysqli_real_escape_string (), который экранирует специальные символы в строке для использования в операторе SQL.
см. https://www.php.net/manual/en/mysqli.real-escape-string.php
источник
Возможно, не по теме, но, возможно, вы пришли сюда в поисках способа очистки ввода текста из HTML-формы, чтобы при вводе текста в SQL пользователь не вводил ошибку таблица в БД. Есть несколько способов сделать это, и вы можете прочитать о внедрении SQL, но простой вариант в PHP - это использовать функцию htmlspecialchars (), которая преобразует все ваши апострофы, в
'
которые, возможно, вы хотите сохранить тем не мение.источник