开发者社区> 问答> 正文

zendframework调用fetchAll()函数的问题:报错

先看一段代码,很短。(zendframework1.12框架,php-version:5.3.1)
IndexController.php
  require_once(APPLICATION_PATH.'/models/productTestModel.class.php');
  class IndexController extends Zend_Controller_Action
 {
   
  public function init()
  {
      /* Initialize action controller here */
      $url = constant("APPLICATION_PATH").DIRECTORY_SEPARATOR.'configs'.DIRECTORY_SEPARATOR.'application.ini';
      $dbconfig = new Zend_Config_Ini($url, 'mysql');
      $db = Zend_Db::factory($dbconfig->db);
      $db->query('SET NAMES UTF8');
      Zend_Db_Table::setDefaultAdapter($db);
      //var_dump($db);
  }
  
  public function indexAction()
  {
      // action body
      $productTestModelObj = new productTestModel();
      //var_dump($productTestModelObj);
      $rs = $productTestModelObj -> fetchAll()->toArray();
      echo '<pre>';
      print_r($rs);
      echo '</pre>';
      exit;
  }
  
 }
从数据库读取出来的数据集$rs,已经能正常的打印出来。
问题是,第21行调用"fecthAll()"这个函数,我追踪进去之后,在函数体内打印一句话,代码如下:
/zend/Db/Table/Abstract.php
  public function fetchAll($where = null, $order = null, $count = null, $offset = null)
  {
      echo 'test<br />';
      if (!($where instanceof Zend_Db_Table_Select)) {
          $select = $this->select();
   
          if ($where !== null) {
              $this->_where($select, $where);
          }
  
          if ($order !== null) {
              $this->_order($select, $order);
          }
  
          if ($count !== null || $offset !== null) {
              $select->limit($count, $offset);
          }
  
      } else {
          $select = $where;
      }
  
  ....(此处省略后面无关紧要的代码)
页面刷新后,居然没有显示“test”,这是为什么??求各位大神帮帮忙,小弟感激不尽。

展开
收起
kun坤 2020-06-07 13:40:14 580 0
1 条回答
写回答
取消 提交回答
  • 这个 productTestModel mode呢?######

    引用来自“码农晓峰”的答案

    这个 productTestModel mode呢?

    这是MODEL:

    class ProductTestModel extends Zend_Db_Table{

    protected $_name = 'productTest';

    protected $_primary = 'productId';

    }

     

    这问题已经困扰我两天了,麻烦你了。谢谢。

    ######

    引用来自“JayKong”的答案

    引用来自“码农晓峰”的答案

    这个 productTestModel mode呢?

    这是MODEL:

    class ProductTestModel extends Zend_Db_Table{

    protected $_name = 'productTest';

    protected $_primary = 'productId';

    }

     

    这问题已经困扰我两天了,麻烦你了。谢谢。

    直接引入
    require 'zend/Db.php';

    就可以了。

    出现什么提示?

    不然也是

    class ProductTestModel extends Zend_Db_Table_Abstract{
    
    }

    还有个就是不晓得你配置怎么配置的。

     

    public function __construct(){
        $db = $this->getAdapter();
    }

    打印下$db看下!

    ######

    引用来自“码农晓峰”的答案

    引用来自“JayKong”的答案

    引用来自“码农晓峰”的答案

    这个 productTestModel mode呢?

    这是MODEL:

    class ProductTestModel extends Zend_Db_Table{

    protected $_name = 'productTest';

    protected $_primary = 'productId';

    }

     

    这问题已经困扰我两天了,麻烦你了。谢谢。

    直接引入
    require 'zend/Db.php';

    就可以了。

    出现什么提示?

    不然也是

    class ProductTestModel extends Zend_Db_Table_Abstract{
    
    }

    还有个就是不晓得你配置怎么配置的。

     

    public function __construct(){
        $db = $this->getAdapter();
    }

    打印下$db看下!

    $db打印出来挺正常的,数据都已经能正常的显示出来了,说明数据库能连接成功嘛。

    ###### 兄弟,不知道你这问题解决了吗?我也遇到了一样的问题,郁闷了一天了,愣是没找到哪里的问题。。。
    2020-06-07 13:40:20
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
fibjs 模块重构从回调到协程--陈垒 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载

相关实验场景

更多