【问题标题】:ZF2 Executing DB query from ControllerZF2 从控制器执行 DB 查询
【发布时间】:2013-12-03 04:59:08
【问题描述】:

您好,我是 ZF2 的新手,不熟悉 ZF2 的一些变化。我想知道如何直接从 Controller 执行 SQL 查询。

我有以下代码:

 public function indexAction()
 {
    $db = $this->getServiceLocator()->get('Zend\Db\Adapter\Adapter');
    $sql = "SELECT * FROM books";
    $statement = $db->query($sql);
    $res =  $statement->execute();

    if($res instanceof ResultInterface && $res->isQueryResult()){
        $resultSet = new ResultSet;
        $resultSet->initialize($res);

        foreach($resultSet as $row){
            echo $row->title . PHP_EOL;
        }
    }
    exit;

    /*
    return new ViewModel(array(
        'books' => $this->getBooksTable()->fetchAll(),
    ));
    */
 }

当上面的控制器在网络浏览器中打开时,它不显示任何内容。如果我在 if 语句之前回显“Blahh..”,它会正确显示“Blahh..”文本。

有谁知道为什么它不能正确显示查询结果?谢谢。

【问题讨论】:

    标签: php sql database zend-framework2


    【解决方案1】:

    尝试将其添加到控制器的顶部:

    use Zend\Db\Adapter\Driver\ResultInterface;
    use Zend\Db\ResultSet\ResultSet;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-28
      • 2016-04-19
      • 2012-12-08
      • 2023-03-19
      • 2014-07-31
      相关资源
      最近更新 更多