PHP/Mysql错误

PHP/Mysql错误,php,mysql,codeigniter,Php,Mysql,Codeigniter,型号: <?php class Blogm extends CI_Model{ function __construct() { // Call the Model constructor parent::__construct(); } function get() { $query = $this->db->get('post', 1); return $query

型号

<?php 
class Blogm extends CI_Model{

    function __construct()
    {
        // Call the Model constructor
        parent::__construct();
    }

    function get()
    {
        $query = $this->db->get('post', 1);
        return $query->result();
    }
}
?> 
<h2>

<?php 
foreach($query as $a):
echo $a;
endforeach;
?>

</h2>
</body>
</html> 
<?php
class Blog extends CI_Controller{

    public function __construct(){
        parent::__construct();
        $this->load->model('Blogm','',TRUE);
    }
    public function index(){

        $data['title'] = 'Sblog';
        $data['message'] = 'My Sblog';
        $data['menu_item'] = array('home','contact');

        $this->load->view('headerv.php', $data);

        $data['query'] = $this->Blogm->get();

        $this->load->view('bodyv.php', $data);
        //$this->load->view('sidebarv.php');
        //$this->load->view('footerv.php');
    }
}

    ?> 
id    int(11)            No    None    auto_increment                                  
    title    text
MIME: text/plain    latin1_swedish_ci        No    None                                    
    content    text
MIME: text/plain    latin1_swedish_ci        No    None                                    
    time    timestamp        on update CURRENT_TIMESTAMP    No    CURRENT_TIMESTAMP    on update CURRENT_TIMESTAMP                                  
    posted    int(1)            No    0 
数据库只有一个条目

这是我的错误。

遇到一个PHP错误

严重程度:4096

消息:类stdClass的对象无法转换为字符串

文件名:views/bodyv.php

电话号码:5

这个错误消息是不言自明的

您试图遍历数据库查询对象的成员
$query
,并将其成员作为字符串进行
echo
。其中至少有一个是对象,因此是错误

相反,使用数据库抽象提供的相关API函数,遍历由
$query
表示的结果集

(查看了有关此问题的其他活动后,可能是“CI”允许将循环用作此API的一部分。请参阅文档以找到正确的迭代方式。)

这个错误消息是不言自明的

您试图遍历数据库查询对象的成员
$query
,并将其成员作为字符串进行
echo
。其中至少有一个是对象,因此是错误

相反,使用数据库抽象提供的相关API函数,遍历由
$query
表示的结果集


(查看了有关此问题的其他活动后,可能是“CI”允许使用循环作为此API的一部分。请参阅文档以找到正确的迭代方式。)

即使您运行的
->get()
限制为1,它仍然返回一个结果集

实际上,您要做的是,在集合中循环并打印单个对象,除非它具有
toString()
方法,否则无法执行此操作。这就是CI抱怨类stdClass的
对象无法转换为字符串的原因

将代码更改为

foreach($query as $obj):
   echo $obj->property; //where property is a column
endforeach;

即使运行的是限制为1的
->get()
,它仍然返回一个结果集

实际上,您要做的是,在集合中循环并打印单个对象,除非它具有
toString()
方法,否则无法执行此操作。这就是CI抱怨类stdClass的
对象无法转换为字符串的原因

将代码更改为

foreach($query as $obj):
   echo $obj->property; //where property is a column
endforeach;

我认为您需要做的就是添加:


$a->title或您想要的信息…

我想您需要做的就是添加:


$a->title或您想要的信息…

正如您看到的错误在
body.php
(视图)文件中,不在模型或控制器中,请显示此文件。您正在尝试将对象用作字符串对象。。。我的坏消息我没有注意到。正如你们所看到的,错误在
body.php
(视图)文件中,不在模型或控制器中,给我们看这个文件。您正在尝试将对象用作字符串对象。。。我的坏消息是我没有注意到。我想补充一点,如果是为了调试目的而做的,一个print_r($a)或var_dump($a)语句就可以完成这项工作。@regilero:不知道CI,我无法评论。这当然不是一个包罗万象的解决方案。e、 mysqli资源对象就是:资源对象。其中没有直接包含的有用数据。我想补充一点,如果是为了调试目的而进行的,则print\r($a)或var\u dump($a)语句可以完成这项工作。@regilero:不知道CI,我无法发表评论。这当然不是一个包罗万象的解决方案。e、 mysqli资源对象就是:资源对象。其中没有直接包含的有用数据。