这可能是基本的事情,但我无法在任何地方找到答案。 我需要使用WHERE,它等于我从POST获得的变量。
但我不知道变量是否为空。我在查询中使用了很多参数,但并不是每个都输入。我是否必须使用一些if / else,或者我可以使用空变量搜索数据库?
如果参数变量不为空,我想在数据库中找到带有此行的行。如果是空的,我想得到所有行。
答案 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']) . "'");
此外,您可以将此与预备语句等一起使用。