我正在使用 Zend 的便捷方法进行 DB 调用 fetchAll。知识渊博的人应该知道,这是一个允许对查询进行参数化的函数。例如,查询可能是:
$query = "select * from user where email = ?"
$results = $this->_db->fetchAll($query, $email);
这就是实现参数化的方式。
然而,我的查询是这样的:
$query = "select * from user where email in ("noLuck@hotmail.com", "hotmailsucks@gmail.com","gmailrocks@hotmail.com");
如何参数化上述查询,因为这些电子邮件是用户输入,所以我不会简单地将它们放在原始查询中并尝试以下失败:
$query = "select * from user where email in ? ";
$this->_db->fetchAll($query, $commaSeparatedEmailList);
在哪里$commaSeparatedEmailList = "(".implode("," , $emails).")";
有任何想法吗 ?