刚在使用 sprintf() 这个函数时发现字符串中有个特殊字符 %,字符串类似这样:
select * from boss where date_format(ftime_minute,'%Y-%m%-%d') >= '%s';
这里的如果不处理日期格式中的 % ,直接使用 sprintf() 就会出错,可以这样处理多加一个 %,如下:
$sql = " select * from boss where date_format(ftime_minute,'%%Y-%%m-%%d') >= '%s' ";
$txt = sprintf($sql, "2019-12-12");
echo $txt;
结果:

参考
https://www.w3schools.com/php/func_string_sprintf.asp
在使用sprintf()函数处理包含特殊字符%的字符串时,如SQL语句中的日期格式,需将%转义为%%以避免语法错误。本文介绍如何正确处理此问题,确保字符串正确解析。
266

被折叠的 条评论
为什么被折叠?



