PHP Codeigniter 错误:调用未定义的方法 ci_db_mysql_driver::result()

发布于 2024-12-17 12:47:44 字数 1255 浏览 0 评论 0原文

我试图使用 codeigniter 创建 xml 响应。当我运行代码时抛出以下错误。

此页面包含以下错误:

第 1 行第 48 列错误:文档末尾有额外内容

<?php  
class Api extends CI_Controller{  
    
    function index()  
    {
        $this->load->helper('url', 'xml', 'security');
        echo '<em>oops! no parameters selected.</em>';
        
    }
    
    function authorize($email = 'blank', $password = 'blank')
    {
        header ("content-type: text/xml");
        echo '<?xml version="1.0" encoding="ISO-8859-1"?>';
        echo '<node>';
        
        if ($email == 'blank' AND $password == 'blank')
        {
                echo '<response>failed</response>';
        } 
        else 
        {
            $this->db->where('email_id', $email);
            $this->db->limit(1);
            $query = $this->db->from('lp_user_master');
            $this->get();
            $count = $this->db->count_all_results();
            
            if ($count > 0)
            {
                foreach ($query->result() as $row){
                    echo '<ip>'.$row->title.'</ip>';
                }
            }
        }
        echo '</node>';
    }
}
?>

I was trying to create an xml response using codeigniter. The following error gets thrown when i run the code.

This page contains the following errors:

error on line 1 at column 48: Extra content at the end of the document

<?php  
class Api extends CI_Controller{  
    
    function index()  
    {
        $this->load->helper('url', 'xml', 'security');
        echo '<em>oops! no parameters selected.</em>';
        
    }
    
    function authorize($email = 'blank', $password = 'blank')
    {
        header ("content-type: text/xml");
        echo '<?xml version="1.0" encoding="ISO-8859-1"?>';
        echo '<node>';
        
        if ($email == 'blank' AND $password == 'blank')
        {
                echo '<response>failed</response>';
        } 
        else 
        {
            $this->db->where('email_id', $email);
            $this->db->limit(1);
            $query = $this->db->from('lp_user_master');
            $this->get();
            $count = $this->db->count_all_results();
            
            if ($count > 0)
            {
                foreach ($query->result() as $row){
                    echo '<ip>'.$row->title.'</ip>';
                }
            }
        }
        echo '</node>';
    }
}
?>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦里寻她 2024-12-24 12:47:44

你这里的代码是错误的:

$this->db->where('email_id', $email);
$this->db->limit(1);
$query = $this->db->from('lp_user_master');
$this->get();

应该是,而是:

$this->db->where('email_id', $email);
$this->db->from('lp_user_master'); 
$this->db->limit(1);
$query = $this->db->get();

现在你可以调用 $query->result(),因为结果资源是在你实际获取表结果之后才存在的

Your code here is wrong:

$this->db->where('email_id', $email);
$this->db->limit(1);
$query = $this->db->from('lp_user_master');
$this->get();

Should be, instead:

$this->db->where('email_id', $email);
$this->db->from('lp_user_master'); 
$this->db->limit(1);
$query = $this->db->get();

Now you can call $query->result(), because the result resource is there after you actually get the table results

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文