在拼接sql语句时用单引号还是双引号?
发布:smiling 来源: PHP粉丝网 添加日期:2015-04-20 14:42:32 浏览: 评论:0
在php+mysql中拼接sql语句时,通常会被单双引号的问题所困扰,现在我们来讲讲如何解决拼接sql语句中单引号和双引号的问题.
mysql中使用基本的DML类型的sql语句,“”和‘’是default string label symbols. 但是在实际情况中,经常出现下面的情况.
一:查询情况
SELECT book_id FROM pd WHERE isbn='123456789' and book_name='"中国"与"PHP粉丝网"';
这种情况下,book_name对应的字符串是没有问题的,sql语句没有语法问题,但是看下面一条语句:sql中,insert into yourTable(f1,f2) values(100,'abc') SELECT book_id FROM pd WHERE isbn='123456789' and book_name='LET'S GO!PHP粉丝网';
报异常:You have an error in your SQL syntax;--phpfensi.com
到这,大家可能会说,你把'LET'S GO!PHP粉丝网' 中外围的两个单引号换成双引号不就搞定了,可现实往往是按照墨菲定律向着最坏的情况发展,很多情况下,我们都不知道传入的增、删、改、查的字符串中,是否含有",',或者是两者同时含有,所以不能简单的遇到单引号替换成双引号,遇到双引号替换成单引号,这就需要用到sql的转义字符了.
二:插入情况
字符串数据是用单引号包在外面的,如果插入的数据中包含单引号,就需要处理,你可以将单引号替换成两个单引号,在sql中连续两个单引号就表示一个单引号字符,例如:
insert into yourTable(f1,f2) values(100,'ab''c')表示插入 新记录f2字段为ab'c
使用函数replace可以实现这个功能:replace(yourStr,"'","''")
Tags: 拼接sql sql单引号 sql双引号
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)