gpt4 book ai didi

php - Where 上的 SQL 和条件逻辑

转载 作者:行者123 更新时间:2023-11-29 10:50:09 24 4
gpt4 key购买 nike

我有一个非常简单的 SQL 搜索查询,如下所示。

$sql = 
"
SELECT *
FROM suppliers
WHERE
product_categories LIKE '%$product_categories1%'
AND agentid=?????
";

在查询部分中 agentid=???我需要满足以下条件才能工作。

如果有的话 $var是(比如说)1 那么 agentid !=' '如果相同$var是(比如说)2 那么 agentid =' '

此查询的目的是。 ..if !=''查询返回包含 agentid 值 (!='') 的所有行或者如果 agentid 设置为 (=' '),则 SQL 根本不返回任何行.

我的问题是如何编写 SQL 来引入这个简单的条件?

PS 我知道<> sql 替代方案。

最佳答案

如果我正确理解你的问题,你想有条件地构建 SQL 查询。您可以使用控制语句来更改输出 SQL:

// ALWAYS ALWAYS ALWAYS sanitize your input.  Use prepared statements to
// build safe queries (see first comment under this answer). This example
// of using msqli_escape_string is NOT considered "secure", but is used in
// this context to highlight the importance of sanitization.
$product_categories1 = msqli_escape_string($product_categories1);

if ($var == 'condition') {
$condition = "agentid IS NOT NULL";
}
else {
$condition = "agentid IS NULL";
}

$sql = "SELECT * FROM suppliers
WHERE product_categories LIKE '%$product_categories1%'
AND $condition";

关于php - Where 上的 SQL 和条件逻辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43877542/

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