【发布时间】:2013-12-02 15:39:05
【问题描述】:
我有这个代码,如果我只想按办公室名称搜索,它效果很好。但是,我需要能够通过“办公室和/或名字和/或姓氏”,三者的任意组合进行搜索。
$firstName = $_POST["firstName"];
$lastName = $_POST["lastName"];
$officeName = $_POST ["officeName"];
$query = "SELECT
e.*,
e.id emp_id,
o.*
";
$query .= "FROM
employee_data e,
office o,
employee_office_pivot p
";
$query .= "WHERE
1=1
AND e.id=p.employee_id
AND p.office_id=o.id
AND o.office_name= '".$officeName."'
";
如何构建 WHERE 子句,以便它接受三列中的任何一列,如果它们为空,则不接受。
谢谢, 理查德
【问题讨论】:
-
首先您要阅读有关SQL injection attacks 的内容并了解您的代码为何危险。