Как вставить значение с двойными кавычками в базу данных?
insert into sent_message (user_id,subject,message,background_url,total_recipients,created_at) values ('115','Greeting','Hx z'xi','/images/default/1.jpg',2,'2015-07-23 10:48:41')
Для столбца сообщения я использовал значение в одинарных кавычках, следовательно, я получил ошибку вставки....
И я попытался изменить запрос, как показано ниже, но вывод и ошибка такие же. Хо, чтобы прийти прийти.
SET QUOTED_IDENTIFIER ON GO insert into sent_message (user_id,subject,message,background_url,total_recipients,created_at) values ('115','Greeting','Hx z'xi','/images/default/1.jpg',2,'2015-07-23 10:48:41')
2 ответа
Вы пытались использовать подготовленные заявления? Таким образом, вам не нужно беспокоиться о добавлении кавычек в разделе значений; вместо этого вы используете вопросительные знаки в качестве заполнителей.
Вы могли бы тогда использовать addslashes
экранировать двойные / одинарные кавычки при передаче переменных / строк в метод execute.
Вы не упомянули, какую базу данных вы используете, поэтому я предполагаю, что MySQL?
Вот руководство по PHP для подготовленных операторов:
http://php.net/manual/en/mysqli.quickstart.prepared-statements.php
Экранирующий символ для одинарных кавычек (') - это две одинарные кавычки (''). Таким образом, пример:
Insert into SomeTable(TextField) Select 'Some ''single quotes inserted'''
Даст:
Select TextField from SomeTable
Some 'single quotes inserted'