php - Medoo php sql - 更改搜索词

标签 php mysql medoo

我正在为我的最新项目使用“medoo”-php/mysql-class ( http://www.medoo.in )。我喜欢这种安静、简单的方式来处理我的 SQL 东西。

但我想知道是否可以根据输入选择表单中的选项更改搜索词。假设我们有搜索选项“用户名”,我们会选择:

$data = $database->select("account", [
"user_name",
"user_id",
"phone",
"email",
"age"], [
"user_name" => $_POST['user_name']]);

到目前为止还好。现在我们得到了搜索选项“user by ID”。其他一切都保持不变。所以我只需要

["user_name" => $_POST['user_name']]);

就像

["user_id" => $_POST['user_id']]);

有没有办法改变这一点,而无需再次编写整个语句?

这只是一个例子。此外,对于我的项目,我需要更改查询的其他选项,例如更新插入不同的连接选项。但目前我对这个问题的答案很满意。

无论如何,您对 Medoo 级有何看法。有什么很酷的替代类解决方案适合我吗?基本上我知道如何使用 SQL 查询,但最后将数据放入数组总是让我发疯。所以我希望通过类(class)更快、更轻松地获得知识。

非常感谢您的帮助! 最好的,洛克斯

最佳答案

您可以在运行查询之前更改 $where 数组,如下所示:

if ($type == 'id')
{
    $where = ["user_id" => $_POST['user_id']];
}

if ($type == 'user_name')
{
    $where = ["user_name" => $_POST['user_name']];
}

$data = $database->select("account",
    [
        "user_name",
        "user_id",
        "phone",
        "email",
        "age"
    ],
    $where
);

关于php - Medoo php sql - 更改搜索词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29287263/

相关文章:

php - 为什么有时读不到ip地址,这个功能

小数点的MySQL索引符号

mysql - SQL如何将具有相同名称的多列连接到一列

mysql - Codeigniter - 在同一查询上结合获取和更新

php - 从我的论坛中获取他们在 medoo 中的子论坛的所有主题

php - 从数据库中提取时避免特定值的最佳方法?

php - 无法在 mysql 表中插入 post 数组

php - 克服非utf8 url编码

php - 多个交替行颜色