我正在尝试使用多个条件搜索特定数据。我使用年龄,位置,类型作为多个搜索条件。如果年龄为6-12岁且类型为户外,则仅显示特定标准。在下面的代码中,它搜索年龄组是否为6-12,位置是oudoor,它显示6-12岁和12-18岁的位置为室外的值。即使只有1个标准,即年龄,位置或类型,也要搜索进入了。
这是代码
<?php
$username = "root";
$password = "";
$hostname = "localhost";
$db = "game";
// Connect to server and select database.
$conn=mysql_connect($hostname,$username,$password)or die("cannot connect");
mysql_select_db($db,$conn)or die("cannot select DB");
if(!$conn)
{
die("cannot connect");
}
if(isset($_POST['submit']))
{
$name=$_POST["name"];
$age=$_POST["age"];
$location=$_POST["location"];
$type=$_POST["type"];
$query = "SELECT * FROM `game1` WHERE age ='$age' or location='$location' or type='$type'";
$run = mysql_query($query);
if(mysql_num_rows($run)>0){
header("Location: gamesearch1.php?age=$age&location=$location&type=$type");
}
else {
echo "<script>alert('No members Yet!')</script>";
}
}
?>
答案 0 :(得分:1)
您应该使用AND
代替OR
作为标准。你应该真的使用参数化查询!