百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> 在拼接sql语句时用单引号还是双引号?
分享文章到:

在拼接sql语句时用单引号还是双引号?

发布时间:01/15 来源: 浏览: 关键词:
在php+mysql中拼接sql语句时,通常会被单双引号的问题所困扰,现在我们来讲讲如何解决拼接sql语句中单引号和双引号的问题。

mysql中使用基本的DML类型的sql语句,“”和‘’是default string label symbols. 但是在实际情况中,经常出现下面的情况:

一:查询情况

SELECT book_id FROM pd WHERE isbn='123456789' and book_name='"中国"与"一聚教程"';

这种情况下,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!一聚教程';

报异常:You have an error in your SQL syntax;
到这,大家可能会说,你把'LET'S GO!一聚教程' 中外围的两个单引号换成双引号不就搞定了。可现实往往是按照墨菲定律向着最坏的情况发展。很多情况下,我们都不知道传入的增、删、改、查的字符串中,是否含有",',或者是两者同时含有,所以不能简单的遇到单引号替换成双引号,遇到双引号替换成单引号。这就需要用到sql的转义字符了。

二:插入情况

字符串数据是用单引号包在外面的,如果插入的数据中包含单引号,就需要处理,你可以将单引号替换成两个单引号,在sql中连续两个单引号就表示一个单引号字符,例如

insert into yourTable(f1,f2) values(100,'ab''c')表示插入

新记录f2字段为ab'c

使用函数replace可以实现这个功能:replace(yourStr,"'","''")

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有3人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板