【发布时间】:2014-07-08 08:28:29
【问题描述】:
当你不知道要接收的参数数量时,你们会怎么做?
例如:
if($a==1) $filter.=" AND u.name = ?";
if($b==1) $filter.=" AND u.address = ?";
if($c==1) $filter.=" AND u.age = ?";
if($d==1) $filter.=" AND u.city = ?";
ETC...
$stmt->prepare("SELECT id
FROM users u
WHERE u.cp = ?
".$filter);
$stmt->bind_param("i", $cp);
现在呢?如果您收到$a = 1,您将收到错误消息,因为您只在bind_param 上传递了1 个参数。所以你不知道你会收到 1、2、3 还是 4 个参数,我不想做很多 IF 或者我必须使用循环来计算参数的数量?
【问题讨论】: