DB 呼び出し fetchAll に Zend の便利なメソッドを使用しています。これは、知識のある人なら知っているはずですが、クエリのパラメーター化を可能にする関数です。たとえば、クエリは次のようになります。
$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).")";
何か案は ?