首页 > 文章列表 > 相关知识 > 查看文章

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

所属分类:相关知识 来源: 丁老师原创 更新时间:2024-02-22 11:22

在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);

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

dls6.jpg

相关文章

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

在使用uniapp开发的小程序内,打开图片,长按没有弹出菜单,无法扫码,此时只需在图片上加入...

js复制对象改变原值的解决办法

在进行vue开发中,经常会遇到复制对象,赋值新对象后,原对象值被改变的问题,举个例子:let...

mui的toast修改位置居中

mui的toast默认是在底部的,并且没有参数设置位置,经过研究发现可以通过修改css的方式...

linux下mysql数据库自动备份

不说废话,直接上解决办法。写mysqldump-uusername-ppasswordDat...

推荐文章

uniapp开发小程序和app时,根据登录状...

在使用uniapp开发app和小程序时,经常会用到打开app/小程序时,根据登录状态判断是显...

idea storm换行自动显示的}括号如何...

在使用idea旗下的产品,如intellijidea,phpstorm,webstorm时,...

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

用phpmyadmin导入大数据库文件时,容易502badgateway,可以直接在linu...

Android Studio 打包APP制作...

在使用androidstudio打包app时,需要制作JKS证书D:\ProgramFile...