как вставить значение с двойными кавычками в базу данных?


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')
Author: Mani Kandan, 2015-07-23

2 answers

Вы пробовали использовать подготовленные инструкции? Таким образом, вам не нужно беспокоиться о добавлении кавычек в раздел значения; вместо этого вы используете вопросительные знаки в качестве держателей мест.

Затем вы можете использовать addslashes, чтобы избежать любых двойных/одинарных кавычек при передаче переменных/строк в метод execute.

Вы не упомянули, какую базу данных вы используете, поэтому я предполагаю, что MySQL?

Вот руководство по PHP, подготовленное заявления:

Http://php.net/manual/en/mysqli.quickstart.prepared-statements.php

 3
Author: jacquestvanzuydam, 2015-07-23 09:25:15

Escape-символ для одинарной кавычки (') - это две одинарные кавычки ("). Таким образом Пример:

Insert into SomeTable(TextField) Select 'Some ''single quotes inserted'''

Даст:

Select TextField from SomeTable

Some 'single quotes inserted'
 0
Author: Appleman, 2015-07-23 11:43:08