gpt4 book ai didi

mysql - 具有多个 WHERE 子句的 SQL Like 语句

转载 作者:太空宇宙 更新时间:2023-11-03 12:33:30 24 4
gpt4 key购买 nike

我在让它工作时遇到问题。我有多个 WHERE 语句需要根据搜索查询的条件信息发生。在那里我似乎无法让 LIKE 语句工作。

在数据库中,STREET_NUMSTREET_NAME 位于不同的行中。我正在使用一个输入字段来检查调用的 $address

我也在努力让 MINMAX 正常工作。

这是查询:

$sql = "SELECT * FROM arc_property_res WHERE ( arc_property_res.STATUS = 'Active'";
if(!empty($_GET['city'])){
// City only query!
$sql .= "AND arc_property_res.CITY = '{$_GET['city']}'";
}
if(!empty($_GET['neighborhood'])){
// Hood only query!
$sql .= "AND arc_property_res.SUBDIVISION = '{$_GET['neighborhood']}'";
}
if(!empty($_GET['mls-number'])){
// MLS only query!
$sql .= "AND arc_property_res.MLS_ACCT = '{$_GET['mls-number']}'";
}
if(!empty($_GET['min-price']) && !empty($_GET['max-price'])){
// MIN AND MAX only query!
$sql .= "AND arc_property_res.LIST_PRICE = MIN('{$_GET['min-price']}') MAX('{$_GET['max-price']}')";
}
if(!empty($_GET['num-of-beds'])){
// BEDS only query!
$sql .= "AND arc_property_res.BEDROOMS = '{$_GET['num-of-beds']}'";
}
if(!empty($_GET['num-of-baths'])){
// BATHS only query!
$sql .= "AND arc_property_res.BATHS_FULL = '{$_GET['num-of-baths']}'";
}
if(!empty($_GET['mls-number'])){
// BATHS only query!
$sql .= "AND arc_property_res.MLS_ACCT = '{$_GET['mls-number']}'";
}
if(!empty($_GET['address'])){
$sql .= "AND arc_property_res.STREET_NUM LIKE '%{$_GET['address']}'";
$sql .= "OR arc_property_res.STREET_NAME LIKE '{$_GET['address']}%'";
}

$sql .= ") ORDER BY {$orderby}{$price_order}{$comma}{$list_date}";

最佳答案

我认为您只需要在 arc_property_res.STREET_NUM 周围加上一些括号。此外,我建议您在整个代码的每一行周围添加一些空格,以免出现语法错误。

if(!empty($_GET['address'])){
$sql .= " AND (arc_property_res.STREET_NUM LIKE '%{$_GET['address']}' ";
$sql .= " OR arc_property_res.STREET_NAME LIKE '{$_GET['address']}%') ";
}

关于mysql - 具有多个 WHERE 子句的 SQL Like 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14324280/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com