【问题标题】:A PHP Error was encountered Severity: Notice Message: Undefined variable: result遇到 PHP 错误 严重性:通知消息:未定义变量:结果
【发布时间】:2017-06-08 10:53:51
【问题描述】:

遇到 PHP 错误 严重性:通知

消息:未定义变量:结果

文件名:用户/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>

【问题讨论】:

标签: php codeigniter


【解决方案1】:

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

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);*/
}

如果是 print ok, ok1 , ok2 那么这是查询问题,如果没有 print ok,ok1 那么这不是查询问题

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

public function bill()
{
    echo 'ok';
    /*$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);*/
}

【讨论】:

    【解决方案2】:

    在视图中使用&lt;?php echo $row-&gt;book_id; }?&gt;

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

    【讨论】:

    • 错误是 var $result not found。所以基本上这是视图中的结果部分
    • @Praveen 我做了但没有改变
    【解决方案3】:

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

    尝试var_dump 结果,看看您是否真的得到任何结果,并且该结果不是 null 或 false;

    所以在这一行之前: $data['result'] = $this->Bill->bills();

    尝试

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

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

    $data['result'] = [0 => 1, 1 =>2];和var_dump 从视图

    看看你是否得到了结果,并且在你有的地方

      return $query->result();   
    

    把它变成这样:

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

    【讨论】:

    • 这样做后我没有得到任何结果
    • 如果您在之后没有得到结果? : [] ;并且没有任何 php 警告,那么很可能是因为查询首先没有返回任何结果,您需要调试 $db->get('invoices');部分,看看你那里是否有数据,看看 db->get 是否正常工作,你应该几乎接近解决方案:)
    • 返回 $query->result() ? : [];这意味着,如果 $query->result() 是 nullfalse 它将返回一个空数组,假设结果应始终为 array 而不是 false 或 null
    【解决方案4】:

    什么给了你 $query->result();尝试在模型本身中打印

    【讨论】:

    • 我没有得到你
    • 这不是答案,这个评论区
    【解决方案5】:

    不返回,打印并检查结果 前任: var_dump($query->result());

    【讨论】:

      猜你喜欢
      • 2015-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-05
      • 1970-01-01
      • 1970-01-01
      • 2017-08-26
      • 1970-01-01
      相关资源
      最近更新 更多