0

我正在为我的最新项目使用“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']]);

有没有办法在不重新写整个语句的情况下改变它?

这只是一个例子。此外,对于我的项目,我将需要更改查询的其他选项,例如update 以插入不同的join -options。但目前我可以回答这个问题。

不管怎样,你对Medoo-Class有什么看法。有什么很酷的替代类解决方案适合我吗?基本上我知道如何使用 SQL 查询,但最后把东西放到数组中总是让我发疯。所以我很想在课堂上更快、更容易地得到东西。

非常感谢您的帮助!最好的,熏鲑鱼

4

1 回答 1

1

您可以在运行查询之前更改 $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
);
于 2015-03-27T07:37:59.257 回答