先来了解Mysql and与or的使用
AND和OR可在WHERE子语句中把两个或多个条件结合起来
使用OR关键字时:
只要符合这几个查询条件的其中一个条件,这样的记录就会被查询出来。
如果不符合这些查询条件的任何一条,这样的记录将被排除。
使用AND关键字时:
需要符合所有条件,这样的记录就会被查询出来。
如果有任何一个条件不符合,这样的记录将被排除。
下面是写法:
由thinkPHP项目where()查询数据就是以AND为基础查询数据
而OR其中也给了whereOr()
但如果需要AND,OR结合查询,如where(),whereOr()
Db::table($company . ‘.vip_activity_courtesy’)
->where(‘start_time’, ‘<=’, time())
->where(‘end_time’, ‘>’, time())
->where(‘start_money’, ‘<=’, $money)
->where(‘end_money’, ‘>=’, $money)
->where(‘activity_type’, ‘支付’)
->where(‘status’, 0)
->where(‘store_all’, “”)
->whereOr(‘store_all’, null)
->select();
这样查询会出现符合where()查询的条件的数据加上whereOr()查询的数据
出现数据多余。
而想要AND,OR结合查询
dataOne=Db::table(dataOne = Db::table(dataOne=Db::table(company . ‘.vip_activity_courtesy’)
->where(‘start_time’, ‘<=’, time())
->where(‘end_time’, ‘>’, time())
->where(‘start_money’, ‘<=’, $money)
->where(‘end_money’, ‘>=’, $money)
->where(‘activity_type’, ‘支付’)
->where(‘status’, 0)
->where(’(store_all = “” or store_all IS null)’)
->select();
感谢观看!如果喜欢,欢迎点赞👍
如果有什么不懂得?请在下方评论哦!