【问题标题】:NUM_ROWS Zend frameworkNUM_ROWS Zend 框架
【发布时间】:2014-05-19 15:47:53
【问题描述】:

我想知道如何使用 num_rows ZEND 1.12 实现查询

  $db = Zend_Db_Table::getDefaultAdapter();
  $db->setFetchMode(Zend_Db::FETCH_ASSOC);
  $select = new Zend_Db_Select($db);

  $select = $db->select()
        ->from('album', array('id', 'nombre'));

  $result = $select->query();

  $rows = $result->fetch();

此代码返回不完整的数据。不知道这样好不好。

【问题讨论】:

    标签: php zend-framework frameworks


    【解决方案1】:

    试试这个:

    $dbAdapter = Zend_Db_Table::getDefaultAdapter();
    $dbAdapter->setFetchMode(Zend_Db::FETCH_ASSOC);
    
    /** @var Zend_Db_Select $select */
    $select = $dbAdapter->select();
    
    $select->from(
        'album', 
        array(
            'id', 
            'nombre'
        )
    );
    
    //get the rowset
    /** @var Zend_Db_Table_Rowset $rows */
    $rows = $dbAdapter->fetchAll($select);
    
    //get the number of rows returned from the rows object
    $num_rows = $rows->count(); //OR count($rows)
    

    但请注意,如果您在查询中使用限制,您将无法获得 db 表中的总行数。

    //$select->limit(100); //will return 100 or less
    

    如果您只想获取 db 表中的行数,请使用:

    //get only a single columns value! (there has to be only one column in the select)
    
    $select = $dbAdapter->select();
    
    $select->from(
        'album', 
        array(
            'COUNT(*) AS num_rows'
        )
    );
    //$select->where("nombre LIKE CONCAT('?','%')",array($search));
    //$select->where("status > 0");
    
    $num_rows = $dbAdapter->fetchCol($select);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-04-06
      • 2013-02-23
      • 2011-01-29
      • 2013-05-22
      • 2017-04-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多