【问题标题】:No results using $this->db->query on CodeIgniter在 CodeIgniter 上使用 $this->db->query 没有结果
【发布时间】:2014-05-27 20:22:14
【问题描述】:

我有一个严重的问题:

我正在使用 CodeIgniter 开发 PHP 应用程序,如果我使用数据库查询 ($this->db->query),codeigniter 结果为 0,但是,如果我更改为 mysql_query,codeigniter 返回 10 行...

我的控制器 clients.php:

class Clients extends CI_Controller{

protected $viewData;

function __construct() {
    parent::__construct();        
    $this->load->model('clientsM','',TRUE);
    $this->clientsM->getTen();
}

我的模型clientsM:

class Clientes extends CI_Model{

function __construct() {
    parent::__construct();
}
function getTen(){
    //Using CodeIgniter database class: Dont works....
    $query = $this->db->query("SELECT * FROM clients LIMIT 10 ");

    //Using mysql_query: Works Fine
    $query = mysql_query("SELECT * FROM clients LIMIT 10 ");
}

【问题讨论】:

  • 当你不工作时会发生什么? $this->db 是数据库对象吗?
  • 我是唯一一个将模型文件名视为“ClientsM.php”但将类名视为“Clientes”的人。据我所知,模型的文件名和类名需要相同......

标签: php mysql database codeigniter class


【解决方案1】:

你没有调用结果:

$query = $this->db->query("SELECT * FROM clients LIMIT 10 ")->result();

尝试使用 var_dump 进行测试

【讨论】:

    【解决方案2】:

    您需要在您查询的对象上调用result(),以将数组作为输出使用result_array()

    $query = $this->db->query("SELECT * FROM clients LIMIT 10 ");
    $result= $query->result();
    echo count($result);
    

    或检查从查询返回的行数

    echo $query->num_rows();
    

    Generating Query Results

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-29
      • 2013-03-24
      • 1970-01-01
      • 2012-07-23
      • 2011-12-15
      • 1970-01-01
      • 2017-04-10
      • 1970-01-01
      相关资源
      最近更新 更多