【问题标题】:codeigniter undefined index issuecodeigniter未定义索引问题
【发布时间】:2014-02-04 03:19:57
【问题描述】:

这是相当简单的,我什至在网站的不同部分做类似的事情,它的工作原理。我是 codeigniter 的新手,所以这可能只是一个简单的错误。

我收到此错误:

消息:未定义索引:用户名

function add($file){
    $user = $this->session->userdata('userid');
    $query = $this->db->query("SELECT username FROM users WHERE ID = '$user'");
    $result = $query->result_array();
    echo var_dump($result);
    echo '<br />';
    echo $result['username'];
    //........

当我回显一个 var_dump 时,我得到以下信息:

array(1) { [0]=> object(stdClass)#20 (1) { ["username"]=> string(5) "jesse" } }

【问题讨论】:

    标签: php arrays codeigniter


    【解决方案1】:

    如果你想从结果数组中访问用户名,你应该使用foreach

    但我猜在您的情况下,您只能从查询中获得一条记录

    所以你可以使用row_array() 代替result_array()。

    在这种情况下(使用row_array()),您可以使用$result["username"] 访问username。

    【讨论】:

    • 效果很好,谢谢。我想这就是它在网站的另一部分工作的原因。我使用的代码基本相同,但它通过 for 循环运行。
    【解决方案2】:

    您可以通过以下任何一种方法获取用户名。

    方法一:

    $result = $query->result_array();
    
    echo $result[0]["username"];
    

    方法二。

    $result = $query->row(); // returns first record.
    
    echo $result->username;
    

    方法三。

    $result = $query->row_array(); 
    
    echo $result["user_name"];
    

    方法四。

    $result = $query->first_row();
    
    echo $result->username;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-14
      • 1970-01-01
      • 2013-06-30
      • 2018-07-07
      相关资源
      最近更新 更多