我想搜索我的数据库,我最初只用一个条件工作,但现在有四个,它只会刷新页面,删除字段输入。MySQL多个条件
我试过只使用逗号,但这似乎也不起作用。我一直无法在Google上找到有关他们是极限的任何信息,但也没有使用四种条件的示例。有没有正确或更好的方法可以尝试?
if(isset($_POST['search'])){
$lname = trim($_POST['lname']);
$address = trim($_POST['address']);
$street = trim($_POST['street']);
$city = trim($_POST['city']);
$county = trim($_POST['county']);
if($lname==""){
$error[] = "Provide Last Name.";
}elseif($address=""){
$error[] = "Provide House Number/Name.";
}elseif($street==""){
$error[] = "Provide Street.";
}elseif($city==""){
$error[] = "Provide City.";
}elseif($county==""){
$error[] = "Provide County.";
}else{
try{
$stmt = $conn->prepare("SELECT * FROM clients WHERE lname=lname AND address=address AND street=street AND city=city AND county=county");
$stmt->execute(array("lname"=>$lname, "address"=>$address, "street"=>$street, "city"=>$city, "county"=>$county));
$userRow=$stmt->fetch(PDO::FETCH_ASSOC);
if($userRow==''){
$user->redirect('./results.php?new='.$lname.$street);
}else{
if($userRow['rating'] == 'good'){
$user->redirect('./results.php?good='.$lname.$street);
}
if($userRow['rating'] == 'cautionextra'){
$user->redirect('./results.php?cautionextra='.$lname.$street);
}
if($userRow['rating'] == 'cautiondiscount'){
$user->redirect('./results.php?cautiondiscount='.$lname.$street);
}
if($userRow['rating'] == 'cautionlate'){
$user->redirect('./results.php?cautionlate='.$lname.$street);
}
if($userRow['rating'] == 'badnopay'){
$user->redirect('./results.php?badnopay='.$lname.$street);
}
if($userRow['rating'] == 'badabusive'){
$user->redirect('./results.php?badabusive='.$lname.$street);
}
}
}
catch(PDOException $e){
echo $e->getMessage();
}
}
}
在phpMyAdmin执行SELECT * FROM clients WHERE lname=lname AND address=address AND street=street AND city=city AND county=county
返回所有行的,伟大的,但我var_dump($userRow);
,它显示的其中一个我试图寻找不同行的结果。
否,所有这些列都需要得到结果。这是一个非常具体的搜索 –
最有可能大写不匹配。你有没有试过通过MySQL运行这个查询? – Akshay
没有我看到的,一切都是小写排除条件,是的,我得到0错误。 –