Php CodeIgniter数据库无任何事情发生
嗨,我正在跟随一个turtorial学习CodeIgniter 我有一个模型,一个视图和一个控制器 模型:Php CodeIgniter数据库无任何事情发生,php,sql,codeigniter,Php,Sql,Codeigniter,嗨,我正在跟随一个turtorial学习CodeIgniter 我有一个模型,一个视图和一个控制器 模型: class Data_model extends CI_Model{ function getAll(){ $data = array(); $q = $this->db->query("SELECT * FROM data"); if($q->num_row() > 0){ foreach($q-&g
class Data_model extends CI_Model{
function getAll(){
$data = array();
$q = $this->db->query("SELECT * FROM data");
if($q->num_row() > 0){
foreach($q->result() as $row){
$data[] = $row;
}
return $data;
}
}
}
观点:
<html>
<head>
<title></title>
</head>
<body>
<p>View loaded</p>
<?php
foreach ($rows as $r){
echo '<h1>',$r->title,'</h1>';
}
?>
</body>
问题是,我没有得到一个错误,只是一个空白页。我做错了什么?感觉就像我在控制器中完成教程中的所有内容一样
$this->load->view('home', $data);
对模型的建议:
function getAll(){
$data = array();
$q = $this->db->query("SELECT * FROM data");
if($q->num_row() > 0){
$data = $q->result(); //result_array() will fetch as arrays and not objects
return $data;
}
}
试试这个,因为它已经由保罗给出了:
echo '<h1>' . $r->title . '</h1>';
echo“”$r->标题;
转到root/index.php并将
环境更改为开发
,以查看php生成的错误。此外,我认为您必须进行以下更改:
echo '<h1>' . $r->title . '</h1>';
echo“”$r->标题;
在模型中
$q->num_row()
需要改成
$q->num_rows()
此外,还需要引用特定列
$data[] = $row->column_name;
在控制器中,逗号需要替换为句点。逗号不是正确的语法
foreach ($rows as $r) {
echo '<h1>'.$r->title.'</h1>';
}
这确实有效:
class Data_model extends CI_Model{
function getAll(){
$data = array();
$q = $this->db->query("SELECT * FROM data");
$data= $q->result(); //result_array() will fetch as arrays and not objects
return $data;
}
}
但这不是:
class Data_model extends CI_Model{
function getAll(){
$data = array();
$q = $this->db->query("SELECT * FROM data");
if($q->num_row() > 0){
$data= $q->result(); //result_array() will fetch as arrays and not objects
return $data;
}
}
}
但是为什么会是这种情况,而且这样做是否正确(这甚至是一个答案),删除这个IF语句会带来什么后果?在这里犯了一个愚蠢的错误IF($q->num_行()>0){
将是IF($q->num_行()>0){
注意num_行()
中的s
:d在这里犯了一个愚蠢的错误IF($q->num_row()>0){
将是如果($q->num_rows()>0){
。注意num_rows()中的s
:D
class Data_model extends CI_Model{
function getAll(){
$data = array();
$q = $this->db->query("SELECT * FROM data");
$data= $q->result(); //result_array() will fetch as arrays and not objects
return $data;
}
}
class Data_model extends CI_Model{
function getAll(){
$data = array();
$q = $this->db->query("SELECT * FROM data");
if($q->num_row() > 0){
$data= $q->result(); //result_array() will fetch as arrays and not objects
return $data;
}
}
}