MySQL查询 - 用空变量搜索

时间:2015-08-19 16:12:24

标签: php mysql

这可能是基本的事情,但我无法在任何地方找到答案。 我需要使用WHERE,它等于我从​​POST获得的变量。

但我不知道变量是否为空。我在查询中使用了很多参数,但并不是每个都输入。我是否必须使用一些if / else,或者我可以使用空变量搜索数据库?

如果参数变量不为空,我想在数据库中找到带有此行的行。如果是空的,我想得到所有行。

1 个答案:

答案 0 :(得分:0)

您可以使用:

$db->query("SELECT field FROM table WHERE filter = '" . (isset($_POST['field']) ? $db->real_escape_string($_POST['field']) : "") . "'");

如果未设置POST变量,则会阻止通知。你可以使用它,如果设置了变量(正常):

$db->query("SELECT field FROM table WHERE filter = '" . $db->real_escape_string($_POST['field']) . "'");

此外,您可以将此与预备语句等一起使用。