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

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

所属分类:软件开发 来源: 丁老师原创 发布时间:2024-02-22 11:22 浏览: 2910 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);

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

标签:

相关文章

Css的Calc函数怎么使用?

有做前端的同学在问,css的calc函数到底怎么使用啊,一直搞不清楚,糊里糊涂的,丁老师你能给我讲解一下吗?其实,calc是css样式表中,一个非常简单的函数,是计算数值用的,常用来作为宽度、高度等长度单位来使用。例子一,宽度自适应,两...

微信支付接口设置fee_type=usd无效...

在开发微信支付,和微信统一下单接口对接时,发现传递的fee_type参数只能设置为'CNY',无法设置为'USD'、'HKD'等其他货币。官方文档上对fee_type参数的描述,可以支持多...

性价比最高的内网穿透方案

内网穿透,是指外网可以访问内网,没有固定IP的服务器,所以需要中间件来进行通讯,目前稳定成熟的中间件软件,要么价格太贵,要么就是只能使用标准服务,不能完全的定制化。那么,到底有没有一个性价比最优的方案呢?回答是肯定的,答案就是使用云服务...

织梦dedecms添加自定义字段后发布文章时...

最近有很多读者朋友来函,咨询新版本的织梦dedecms,在模型中新添加了自定义字段后,网站后台发布时却不显示这个字段的问题。丁老师亲自下了一个最新版的dedecms安装后,找到了后台发布时显示自定义字段的方法。

推荐文章

您的nahimic驱动程序似乎已经过期的解决...

打开电脑的Nahimic软件,提示“您的nahimic驱动程序似乎已经过期,无法启动”,然后需要点击链接更新驱动,但点击进去后,也找不到什么驱动。经过研究发现解决办法:1.使用SDI安装,即Snappy Driver Installer 1...

BT宝塔升级方法

由老版本7.2自动升级时,会出现很多问题,建议在终端手动升级。升级命令:curl http://download.bt.cn/install/update_panel.sh|bash

Photoshop宽度像素和网页宽度像素不一...

在用photoshop设计时,有的同学会发现,在网页中设置的宽度1000px,截屏后,再用photoshop打开后测量同样图像的宽度时,这个宽度就不是1000像素,而是1200多甚至1300多,是个很奇怪的问题,丁老师检查了photosho...

CodeIgniter框架URL如果去掉in...

在使用PHP框架CI时,有个很恶心的地方就是他的URL需要带上index.php,比如我要建一个user模块,想要实现www.xxx.com/user/的效果,但是在CI框架下必须要www.xxx.com/index.php/user这样才...