将 isset() 与 mysql 查询相结合以创建动态查询


Combine isset() with a mysql query to create dynamic queries

我已经做了一些查找,但说实话,我只是不知道到底要搜索什么。我正在尝试做的是创建一个动态查询,正如标题所说。也就是说,我只查询发送到 php 文件的变量。例如,如果我想查找用户,但我只知道他们的姓氏和用户名,但是对于另一个用户,我知道他的名字和电子邮件。我想为搜索表单提供许多字段,并根据输入的字段创建查询。

首先建立一个 WHERE 子句列表,然后将这些子句添加到查询中。例如:

$where = "";
if (isset($firstname) {
    $firstname = mysql_real_escape_string($firstname);
    $where .= "AND firstname='$firstname'";
}
if (isset($lastname) {
    $firstname = mysql_real_escape_string($lastname);
    $where .= "AND lastname='$lastname'";
}
mysql_query("SELECT * FROM users WHERE 1 ".$whereClause);

当然,您需要更改表/行/等名称,并为每个属性添加额外的if (isset部分。