mysql拼接语句

现在有个搜索的需求,后台代码为原生sql查询,要进行sql拼接

比如查询的条件有:开始时间,结束时间,操作人,商品名称
而且,操作人和商品名称需要模糊查询

切记: 1:“%”前面不要加空格,不然会影响模糊查询。

2.“.”前后需要有空格,不然语句会报错,因为语句拼接有误!比如:你需要这样的语句:and StartData >= ‘1553506641’ and EndData < ‘1553516641’ ,但是你语句中没有加空格,就会出现这样的语句: 在这里插入图片描述

3.拼接总的sql语句的时候,“where”后面一定要加上数字“1”,不然sql报错,语句成为这样:where and *****,这样肯定报错!

以下是sql拼接的方法:

$StartData = $_POST['StartData'] ;
$EndData = $_POST['EndData'] ;
$user_name = $_POST['user_name'] ;
$product_name = $_POST['product_name'] ;
$where = '';

if(!empty($StartData)){
	$where .= " and StartData >= ' " . $StartData  ."'";//where语句拼接
	 }
	 
if(!empty($EndData)){
	$where .= " and EndData < ' " . $EndData."'";//where语句拼接
	 }
	 
if(!empty($user_name )){
	$where .= " and user_name like  '% " . $user_name ."%'";//where语句拼接
	 }
	 
if(!empty($product_name )){
	$where .= " and product_name like  '% " . $product_name ."%'";//where语句拼接
	 }

$sql = "select * from orders where 1 ". $where . " order_by time asc";

如果某些地方书写有误,或者各位大牛有更好的方法,请联系本人,非常感谢!!!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值