Php 当表单中未填写给定内容时,获取数据库中的所有内容

Php 当表单中未填写给定内容时,获取数据库中的所有内容,php,mysql,Php,Mysql,表单请求电子邮件(可选) 我在数据库中进行查询,条件之一如下: AND mail = '$email' 但是,此电子邮件可能不会填写在表格上(不是必需的) 如果它是空的,我如何输入通配符并列出所有电子邮件 我试过这样的方法: <select name="mail"> <option value="">ALL</option> </select> 但它没有起作用 有人能帮我吗?创建不包含此检查的查询,然后有条件地添加检查: if (!em

表单请求电子邮件(可选)

我在数据库中进行查询,条件之一如下:

AND mail = '$email'
但是,此电子邮件可能不会填写在表格上(不是必需的)

如果它是空的,我如何输入通配符并列出所有电子邮件

我试过这样的方法:

<select name="mail">
    <option value="">ALL</option>
</select>
但它没有起作用


有人能帮我吗?

创建不包含此检查的查询,然后有条件地添加检查:

if (!empty($email)) {
    $query .= " AND mail = '$email';
}

但是,由于SQL注入,您确实应该避免将变量替换到SQL查询中,而是使用参数化查询。有关动态生成查询的常规方法,请参阅。

检查值是否已传递,并有条件地添加电子邮件约束。如果没有要测试的值,则该行不需要在查询中。
<select name="mail">
    <option value="">ALL</option>
</select>
AND mail = '%$email' 
if (!empty($email)) {
    $query .= " AND mail = '$email';
}