首页 文章

从数据库中获取数据时出错

提问于
浏览
0

我编写了一个代码来从数据库中获取数据,但最终出现了错误

遇到 PHP 错误严重性:通知消息:未定义索引:用户名文件名:views/userinfo.php 行号:20 Backtrace:

文件:D:\ wamp\www\anand\codeigniter\application\views\userinfo.php 行:20 功能:_error_handler

文件:D:\ wamp\www\anand\codeigniter\application\controllers\Main.php 行:35 功能:查看

文件:D:\ wamp\www\anand\codeigniter\index.php 行:315 功能:require_once

我的代码是

?php
   $name=$this->session->username;
   $pass=$this->session->password;
   $q=$this->db->query("select * from signup where username='$name' and password='$pass'");
   $data=$q->result();
   echo $data['username'];
   echo $data['password'];
?>

请提出以正确格式获取数据的建议。

5 回答

  • 0

    通过使用纠正错误

    `<?php
            foreach ($q->result() as $data)
            {
            echo $data->username; 
            echo $data->password;
            }
      ?>`
    

    代替

    `<?php
          $data=$q->result();
          echo $data['username'];
          echo $data['password'];
     ?>`
    
  • 0

    使用

    print_r($data);
    

    知道结果。它会告诉你正确的结果。

  • 0

    改变$q->result() to $q->row_array()。它只会得到一个数组结果,你可以直接访问像$data [8]这样的密钥

    <?php
       $name=$this->session->username;
       $pass=$this->session->password;
       $q=$this->db->query("select * from signup where username='$name' and password='$pass'");
       $data=$q->row_array();
       echo $data['username'];
       echo $data['password'];
    ?>
    
  • 0

    如果只有一行结果使用result_array();

    $data=$q->result_array();
      echo $data[0]['username'];
      echo $data[0]['password'];
    
  • 0

    你应该用它

    $q->result_array();
    foreach($q as $data):
    
    echo $data['username'];
    echo $data['password'];
    
    endforeach;
    

    如果你使用$q->result()然后在foreach中这样做

    echo $data->username;
    

相关问题