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资源对象就是:资源对象。其中没有直接包含的有用数据。