php - 即使从数据库中获取值后,在 codeigniter 3 中获取 undefined index 返回日期?

标签 php mysql codeigniter codeigniter-2 codeigniter-3

我正在从数据库中获取值,当我使用 print_r 时,这些值已成功显示,但是当我尝试回显这些值时出现错误,它给我一条错误消息:

Undefined index: return_date

我的 Controller 代码如下

public function latebooks(){
    $now = date('m/d/Y');
    $this->load->model('Time');
    $id=$this->session->userdata('userid');
    $this->load->model('Department');
    $table=$this->Department->selecttable($id);
    foreach($table as $q){}
    $table = $q->department_name;
    $table = strtolower($table);
    $run=$this->Time->timecalculations($table);
    print_r($run);
    $this->load->view('Books/datetime',['query'=>$run]);
}

我的模型代码如下:

public function timecalculations($table){
    $query= $this->db->get_where('issue_books',array('department_id'=>$table));
    return $query->result_array();
}

View 中的代码如下

    <?php

/**
 * Created by PhpStorm.
 * User: workspace
 * Date: 05-10-2016
 * Time: 13:46
 */
include 'header.php';
?>
<br /><br />
<?php
echo $query['return_date'];
?>
<?php
include 'footer.php';
?>

请原谅我是新手!在此先感谢

最佳答案

您在您的模型中使用 result() 函数来获取记录,这会将数据返回到对象形式而不是数组中。

这个:

echo $query['return_date'];

应该是:

echo $query->return_date;

修改问题后,您必须检查 print_r($run) 得到了什么。

如果您的数据位于多维数组中,您可以在此处使用循环,这将打印具有一条记录或多条记录的所有数据。

<?php
foreach ($query as $key => $value) {
    echo $value->return_date;
}
?>

如果您想使用 result_array() 函数,您可以像这样使用:

<?php
foreach ($query as $key => $value) {
    echo $value['return_date'];
}
?>

这篇文章将帮助您理解这两个函数:codeigniter, result() vs. result_array()

关于php - 即使从数据库中获取值后,在 codeigniter 3 中获取 undefined index 返回日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39869154/

相关文章:

mysql - 如何从内部调用存储过程获取记录集?

php - 如何在 codeigniter 中使用 pdo?

mysql - 想要从具有相同列名的 2 个表中输出。使用代码点火器

php - 用于调试的变量中存储的查询不会显示

php - HTML 和 PHP 简单联系表

php - 如何使用 PHP 编辑外部 css 文件?

javascript - 商店谁提交了表格?

php - 在选择>选项上显示最后一个值+ 1

php - 这是更新用户状态的最佳方式吗?

php - 缓慢的 MySQL 性能和 sleep 查询