如何在多个字段(SQL,PHP)上搜索?

时间:2016-04-13 06:00:18

标签: php mysql sql database

我无法在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']无效。怎么样?

1 个答案:

答案 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 ";