0
我试图从使用SQL如下表筛选数据:添加where子句的SQL语句
$select= new \Zend\Db\Sql\Select ;
$select->from('questions');
$select->where(array('questions.id'=>$value));
$select->columns(array('user_id','description'));
$select->join('users', "users.id = questions.user_id", array('username','password'), 'left');
echo $select->getSqlString();
$resultSet = $this->tableGateway->selectWith($select);
return $resultSet;
没有$select->where(array('questions.id'=>$value));
查询执行没关系,我可以得到所有的数据库值。否则,如果我添加声明,我得到这个错误:
Attempting to quote a value without specific driver level support
can introduce security vulnerabilities in a production environment.
我该如何纠正这一问题的where子句工作?
是啊..它的工作,但只是有点担心该声明。谢谢很多。 – Joss
我认为这意味着select对象不知道如何在查询中引用值,因为select对象本身并不知道您使用的数据库类型。当查询最终运行时,它使用数据库适配器完成,它确实知道数据库的类型。 –