如何在数据库中插入带有双引号的值?
how to insert the value having double quotes in the database?
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')
您是否尝试过使用准备好的语句?这样您就不必担心在值部分添加引号;您使用问号代替占位符。
然后,当您将 variables/strings 传递给执行方法时,您可以使用 addslashes
转义任何 double/single 引号。
你没有提到你使用的是哪个数据库,所以我假设 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'
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')
您是否尝试过使用准备好的语句?这样您就不必担心在值部分添加引号;您使用问号代替占位符。
然后,当您将 variables/strings 传递给执行方法时,您可以使用 addslashes
转义任何 double/single 引号。
你没有提到你使用的是哪个数据库,所以我假设 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'