gpt4 book ai didi

php - 动态MySQL查询?

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

我在列上有 3 个单独的 FULLTEXT 索引:City、Text、Group 以及 3 个相应的值 $city、$text 和 $group。

我想要做的基本上是有多个 WHERE 条件,仅在定义了变量时才运行。例如,如果 $city 和 $text 在 City 列中定义为 $city 的 WHERE,在 Text 列中为 $text 定义为 WHERE。

这是我当前的 MySQL 查询:

$result = mysql_query("
SELECT * FROM Posts
WHERE MATCH (City) AGAINST ('$city')
ORDER by Date DESC LIMIT $limit_posts OFFSET $first_post
");

我不知道如何在不弄乱查询的情况下做到这一点。

我该怎么做?

最佳答案

你可以这样做:

警告:前面有黑客代码

// Column name => column value
$filter = array(
'city' => $city,
'text' => $text,
'group' => $group,
);

$filter_sql = 'WHERE ';
foreach ($filter as $key=>$value)
$filter[$key] = "MATCH ($key) AGAINST ('$value') ";

$filter_sql .= implode($filter, ' AND ');

$query = "SELECT * FROM Posts
$filter_sql
ORDER by Date DESC LIMIT $limit_posts OFFSET $first_post";

只需确保根据要过滤的列正确填充 $filter 数组即可。

关于php - 动态MySQL查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6921666/

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