遇到PHP错误严重性:通知消息:未定义的变量:结果

时间:2017-06-08 10:53:51

标签: php codeigniter

  

遇到严重错误:通知

     

消息:未定义的变量:结果

     

文件名:user / messages.php

     

行号:87

     

回溯:

     

文件:E:\ xampp \ htdocs \ ci \ application \ views \ user \ messages.php行:87   功能:_error_handler

     

文件:E:\ xampp \ htdocs \ ci \ application \ controllers \ users \ Dashboard.php   行:12功能:查看

     

文件:E:\ xampp \ htdocs \ ci \ index.php行:315功能:require_once

这是我的代码控制器

      <?php defined('BASEPATH') OR exit('No direct script access allowed');
        class Bills extends CI_Controller{
       function __construct(){
      parent::__construct();
     }

     public function bill(){
     $id = $this->session->userdata('email');
     $this->load->database();
     $this->load->helper(array('form', 'url', 'html'));
     $this->load->model('fuser/Bill');
     $data['result'] = $this->Bill->bills();
     $this->load->view('user/messages',$data);
      }
      }
      ?>

**Model**

      <?php  
     class Bill extends CI_Model  
     {  
      function __construct()  
      {  
         // Call the Model constructor  
         parent::__construct();  
      }  
      //we will use the select function  
      public function bills($id)  
      {  
         //data is retrive from this query  

     $query = $this->db->get('invoices'); 
       return $query->result();   
      }  





      }  
     ?> 

**View**
      <div class="billing_tabs_text_part">
                <?php foreach($result as $row){?>
                  <p><?php echo $row['book_id']; }?></p>
                </div>

5 个答案:

答案 0 :(得分:1)

我不确定哪个部分是你的问题所以我建议如何找到错误

While (Fname <> "")

      Set wbTarget = Workbooks.Open(Filename:=Folder & Fname)
      wbTarget.Activate
      Range("b3:i102").Copy

      wbThis.Activate


      'Solution:

      sht1.Range("b" & counter & ":i" & counter + 99).PasteSpecial
      counter = counter + 100

      Fname = Dir

     'close the overnight's file
     wbTarget.Close
Wend

如果这是打印确定,ok1,ok2那么这是查询问题,如果没有打印确定,ok1那么这不是查询问题

在这种情况下尝试查找错误,如果其他确定则必须打印确定

public function bill()
{
    echo 'ok'; // check controller work
    $id = $this->session->userdata('email');
    $this->load->database();
    echo 'ok1';
    $this->load->helper(array('form', 'url', 'html'));
    echo 'ok2';
    /*$this->load->model('fuser/Bill');
    $data['result'] = $this->Bill->bills();
    $this->load->view('user/messages', $data);*/
}

答案 1 :(得分:0)

在视图中使用<?php echo $row->book_id; }?>

因为您的数据是对象数组。

答案 2 :(得分:0)

您需要找到问题的确切位置

尝试var_dump结果,看看你是否真的得到了任何结果,结果不是空或假;

所以在此之前: $ data [&#39;结果&#39;] = $ this-&gt; Bill-&gt; bills();

尝试

var_dump($this->Bill->bills());     
die();

如果您获得结果,请尝试使用虚拟内容而不是$ this-&gt; Bill-&gt; bills();使用:

$ data [&#39;结果&#39;] = [0 =&gt; 1,1 => 2];和视图中的var_dump

看看您是否获得了结果,并且符合您的

  return $query->result();   

像这样:

  return $query->result() ? : [];

答案 3 :(得分:0)

什么给你$ query-&gt; result();尝试在模型中打印

答案 4 :(得分:0)

不要返回,打印并检查结果 例如: 的var_dump($查询 - &GT;结果());