使用占位符来解析Sql语句中的where子句

时间:2014-05-14 12:27:49

标签: php sql zend-framework2

我想引用Where子句中的值,这个代码是否可以使用占位符?

 $where = "(user_id = ? AND company_id = ? AND color_id = ?)";  
 $values = array($userId, $companyId, $colorId);

 function qouteWhere($where, $values){
      foreach($values as $value)
           $where = $this->adapter->getPlatform()->quoteValue($value);

      return $where;  
 }

我感谢任何帮助。谢谢。

1 个答案:

答案 0 :(得分:1)

您无需引用值。

$where = new Zend\Db\Sql\Where();

$where->equalTo('user_id', $userId);
$where->equalTo('company_id ', $companyId);
$where->equalTo('color_id ', $colorId);

这样,由于使用了预处理语句,因此对SQL注入更安全。