首页 > 原创文章 > 软件开发 > 查看文章

php拼装sql语句,换行查询出错的问题解决

所属分类:软件开发 来源: 丁老师原创 发布时间:2024-02-22 11:22 浏览: 2937 IP属地: 深圳

在php代码中,遇到复杂的sql语句,需要拼装sql语句,如:

$sql='id>10;'
$sql=' and 
(
    status in(1,2,3,4,5) and
    id not in (select id from aaa where datetime<=1708561241)
)
';


在使用这种拼装语句时,刚开始是发现没有问题的,后来当数据量大了后,丁老师发现使用这种语句查询和直接在数据库查询出的结果数不一致,原来是在拼装sql语句有换行符,php在执行查询时,遇到换行符就出错了,导致查询数据结果不一致。解决办法:

在拼装语句的最后,加上一句:

$sql=str_replace(PHP_EOL,' '.$sql);

替换所有换行符为空格就好

标签:

相关文章

微信H5支付开发方法

微信H5支付,就是在非微信客户端内调用微信客户端进行支付,比如在手机自带浏览器中选择微信支付,就会提示打开微信,在微信客户端内完成支付。之前这个功能是内部使用,只对京东等一些大型电商平台开放,小企业无法申请,但是近日微信开放了H5支付...

Uniapp开发小程序内的图片扫码

在使用uniapp开发的小程序内,打开图片,长按没有弹出菜单,无法扫码,此时只需在图片上加入show-menu-by-longpress即可完整代码:<image :src="picture" mode=&qu...

JavaScript中的字符串取第一个词的方...

有一个需求,要求在Javascript的字符串中,取出第一个词,注意,是字符串中的第一个单词,不是字符。研究了下,给出具体代码:var str="News media should foster peace and disar...

Tiny编辑器无法使用的解决办法

TinyMCE编辑器,是一款轻量级的的网页内容编辑器,支持html,vue,react等前端架构。调用方法也非常简单,引入js文件,在textarea上设置id,然后调用方法即可:<scripttinymce.init({ sel...

推荐文章

Mysql导入文件,source命令/php...

用phpmyadmin导入大数据库文件时,容易502 bad gateway,可以直接在linux上用mysql原生命令导入。1.上传sql文件到目录用Xshell登录服务器,将迁移过来的 sql 文件移到 home 目录下,方便下一步的...

VideoJs宽度高度自适应100%的方法

videojs是一款非常不错的html video播放器插件,很多同学经常在群里问我,说丁老师这个videojs怎么设置为宽度或者高度自适应呢,不想把video的width和height写死,有没有什么办法呢。丁老师经过研究发现啊,vide...

Tortoise Svn出现No Path ...

在日常开发过程中,突然发现svn无法提交和更新,出现“no path or pathfile specified on the command line”的错误,网上搜了一圈百度 google 以及stack overflow都没找到真正能...

Mysql 1267 Illegal mix...

这个问题,用普通sql语句查询,好解决,把表的字符编码改为对应的就可以了。 但在使用视图查询时,比如select 'aaa' as type from xxx; select * from view where type=...