nameQuote('#__mls')." WHERE 1=1" -6ren">
gpt4 book ai didi

php - Joomla - PHP 改变模型中的 mySQL 语句

转载 作者:行者123 更新时间:2023-11-29 08:41:13 24 4
gpt4 key购买 nike

我在这段代码中遇到语法问题:

$query = "SELECT *
FROM ".$db->nameQuote('#__mls')."
WHERE 1=1"
. if ($zip != null)
{ AND ".$db->nameQuote('MSTZIP')." = ".$db->quote($zip)."}
. if ($city != null)
{ AND ".$db->nameQuote('MSTCITY')." = '".$db->quote($city)."'}
. if ($bdrms != null)
{ AND ".$db->nameQuote('MSTBDRMS')." >= ".$db->quote($bdrms)."}
. if ($bths != null)
{ AND ".$db->nameQuote('MSTBATHS')." >= ".$db->quote($bths)."}
. if ($lprice != null)
{ AND ".$db->nameQuote('MSTLISTPRC')." BETWEEN ".$db->quote($lprice)." AND ".$db->quote($hprice)."}
";"
;

第一个字符串"开始查询语句,第二个"层分配表,当WHERE语句时,事情就变得棘手了。所有 if 语句都让我困惑。我觉得这就是 " 放错位置或丢失的地方。

最佳答案

完全 splinter 得令人难以置信。尝试更多类似这样的事情:

$query = "SELECT * FROM " . $db->nameQuote('#__mls') . " WHERE 1=1";
$clauses = array();
if ($zip != null) {
$clauses[] = $db->nameQuote('MSTZIP') . " = " . $db->quote($zip);
}
if (etc...) {
...
}
$query .= implode(' AND ', $clauses);
echo $query;

关于php - Joomla - PHP 改变模型中的 mySQL 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13746364/

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