Zend \ Db \ Sql中的Prepared语句没有执行

时间:2013-11-08 04:51:05

标签: zend-framework zend-framework2 zend-db

我正在zf2中试验Zend \ Db \ Sql。我在进行简单查询时遇到了一些问题。以下是我的代码。

$id = 342;
$select2 = $this->sql->select();
$select2->from('users');
$select2->where(array('fbid'=>$id));
$statement = $this->sql->prepareStatementForSqlObject($select2);
$result =  $statement->execute();

上述声明不会返回任何对象。我可以知道它有什么问题吗?

另外,我对zend db中的预处理语句有些怀疑。准备好的语句是通过Zend进行查询的正确和最佳方式吗?我从网上阅读,它说它可以很好地防止sql注入。

感谢任何帮助指导我。

2 个答案:

答案 0 :(得分:0)

我找到了解决方案。

需要两行代码。

$resultSet = new ResultSet();
$resultSet->initialize($result);

答案 1 :(得分:0)

我遇到了同样的问题,但是Slay建议的两行代码还需要一行。

$resultSet = new ResultSet();
$resultSet->initialize($result);   
return $resultSet->toArray();