我无法在php上搜索多个字段。 AND和OR的条件在三个领域不起作用。
示例:
$string_query = mysql_query ("SELECT * FROM Rock WHERE author ="."'".htmlspecialchars($_POST['search'])."' AND name ="."'".htmlspecialchars($_POST['name'])."' OR god="."'".htmlspecialchars($_POST['god'])."' ");
如果您只填写$_POST['search']
和$_POST['name']
,则搜索会成功,但如果$_POST['search']
,则$_POST['name']
和$_POST['god']
无效。怎么样?
答案 0 :(得分:2)
嘿,你可以在你的sql中使用连接概念,如果你可以询问任何查询,下面的代码将帮助你
$var='';
$_POST['search']='adas';
$_POST['name']="ram";
$_POST['god']="shankar";
$m=2;
$n=5;
$c=4;
if ($m==2) {
$var.= "author=htmlspecialchars($_POST[search])" ;
}
if ($n==5) {
$var.=" AND name ="."'".htmlspecialchars($_POST['name'])."' " ;
}
if ($c==4) {
$var.=" OR god="."'".htmlspecialchars($_POST['god'])."' " ;
}
echo "SELECT * FROM Rock WHERE $var ";