как вставить значение с двойными кавычками в базу данных?
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 answers
Вы пробовали использовать подготовленные инструкции? Таким образом, вам не нужно беспокоиться о добавлении кавычек в раздел значения; вместо этого вы используете вопросительные знаки в качестве держателей мест.
Затем вы можете использовать addslashes
, чтобы избежать любых двойных/одинарных кавычек при передаче переменных/строк в метод execute.
Вы не упомянули, какую базу данных вы используете, поэтому я предполагаю, что MySQL?
Вот руководство по PHP, подготовленное заявления:
Http://php.net/manual/en/mysqli.quickstart.prepared-statements.php
Escape-символ для одинарной кавычки (') - это две одинарные кавычки ("). Таким образом Пример:
Insert into SomeTable(TextField) Select 'Some ''single quotes inserted'''
Даст:
Select TextField from SomeTable
Some 'single quotes inserted'