猿问

php select查询语句后可以加几个or?

php select查询语句后可以加几个or? 


繁星coding
浏览 1005回答 4
4回答

婷婷同学_

用小括号()包含就可以区别开。例如:select * from table where title like '%hello%' and (contents like '%good%' or contents like '%ok%')sql语句where部分解释如下:title like '%hello%' and (contents like '%good%' or contents like '%ok%')title 字段模糊查询包含 hello 字符串的数据,并且 contents 字段模糊查询包含 good 字符串的数据,或者contents 字段模糊查询包含 ok 字符串的数据比如数据表数据如下:字段 id --- title --- contents数据 1 --- 11hello22 --- yougoodss2 --- aaahello333 --- fdffokssfff3 --- bbbhello666 ---- fffaafdafa1像上面的数据sql语句会同时查询出1、2的数据。就像四则运算加上小括号就有了计算优先原则。

子衿沉夜

一样的写法 只是PHP的标准的写法是 where (`a`=1 or `a`=2) and `b`=3 这里的a b 为数字库字段名.所以要用那个符号.有时候不用也不出错.但为了更能适用多个平台.所以建议还是写上好点.

弑天下

select * from x where (id=1 and name="2") or (id=1 and name="3");可以这样写select * from x where id=1 and name in("2","3");in 里面可以有很多参数,如果in里面数据量比较大,可以用数组存储,如$array = (1,2,3,4,5);$str = '';foreach($array as $val){$str .= $val . ','; //将值后面拼接一个逗号}$array = rtrim($str,','); //将数组变成合法的字符串select * from x where id=1 and name in($str);这样也是批量操作的一个方法

慕勒3428872

可以并用,需要注意的是:AND比OR优先,也就是先进行AND运算,再进行OR运算,如果你的想法不是这样,需要使用括号。
随时随地看视频慕课网APP
我要回答