SQL中语句select * from XX where YY like ZZ中YY可不可以为多个条件(用or连接)

如题所述

第1个回答  2014-10-08
可以多n个条件,or连接表示或者(满足其一) 也可以用and连接,表示并且(同时满足)追问

$select=mysql_query("select * from tb_seacher where author or name like'%".$_POST['name']."%'",$conn);
为什么上面这个语句只能搜索出name,而不能搜索author,但是单独分开的话就既可以从书名搜索也可以从作者搜索

追答

改成这样:select * from tb_seacher where author like'% or name like'%

追问

改成$select=mysql_query("select * from tb_seacher where name like'%".$_POST['name']."%',$conn or author like'%".$_POST['name']."%'",$conn);后,下面这一句

 while($row=mysql_fetch_array($select))出现错误

追答

php语法我不熟,但是你这个like后没有空格肯定不对,加个空格试试
$select=mysql_query("select * from tb_seacher where name like '%".$_POST['name']."%',$conn or author like '%".$_POST['name']."%'",$conn);

追问

同样谢谢你!

第2个回答  2014-10-08
可以用”或者“(||)将多个数据连在一起!追问

是用或者吗,用or不行啊
$select=mysql_query("select * from tb_seacher where author or name like'%".$_POST['name']."%'",$conn);
为什么上面这个语句只能搜索出name,而不能搜索author,但是单独分开的话就既可以从书名搜索也可以从作者搜索

追答

$select=mysql_query( "select * from tb_seacher where author like '%".$_POST['name']."%'
or name like '%".$_POST['name']."%'" , $conn); //这样写才可以,复制试试

追问

哦,谢谢,这样确实能搜出来,但是为什么后面除了书的信息外还有$select=mysql_query( "select * from tb_seacher where author like '%".$_POST['name']."%' or name like '%".$_POST['name']."%'" , $conn); 这句话呢

追答

没有搞明白你的意思?!0^0

追问

搞错了,没事了,谢谢

追答

呵呵,不客气

本回答被提问者采纳
相似回答