过滤结果的正确方法是什么?到目前为止,我得到的是一个表格,你可以输入名字,姓氏,电话和其他的东西。如何使语句忽略空输入字段而不是搜索空值?
我用的是事先准备好的语句,当我过滤我用的东西时 WHERE firstname = ? and lastname = ?
如果某个东西是空的,则条件改变语句。我怎样才能避免在有条件的情况下发表成百上千的声明?
$stmt = $this->mysqli->prepare("SELECT * FROM cust");
if(!empty($firstname) && !empty($lastname)) {
$stmt = $this->mysqli->prepare("SELECT * FROM cust WHERE as_first = ? AND as_last = ?");
$stmt->bind_param("ss", $firstname, $lastname);
} else if(!empty($firstname) && empty($lastname)) {
$stmt = $this->mysqli->prepare("SELECT * FROM cust WHERE as_first = ?");
$stmt->bind_param("s", $firstname);
} else if(empty($firstname) && !empty($lastname)) {
$stmt = $this->mysqli->prepare("SELECT * FROM cust WHERE as_last = ?");
$stmt->bind_param("s", $lastname);
}
1条答案
按热度按时间t8e9dugd1#
不幸的是,您应该编写自己的条件,例如:
手动绑定参数: