【发布时间】:2014-06-26 08:37:05
【问题描述】:
我做了一个项目,它的连接查询在本地服务器上工作,但在实时服务器上不工作。
实时服务器显示错误
致命错误:在非对象上调用成员函数 result() /home/a3608717/public_html/CI/application/models/student_model.php 上 第 157 行
public function fetch_all_sbj(){
$query = $this->db->query("SELECT s.*,ct.*
from subject s INNER JOIN courseTerm ct
ON s.sbjId=ct.cTId");
return $query->result(); ///This is 157 line
}
如果我把这个查询写成
$query = $this->db->query("SELECT * from subject ");
或
$query = $this->db->query("SELECT * from courseTerm ");
没有错误,但我需要加入他们。 同样,问题也是所有查询。请帮帮我。
【问题讨论】:
-
没有理由让同一个查询在实时服务器上失败,除非它没有通过您的脚本连接到数据库或连接到错误的数据库或实时中没有表
-
如果有db连接错误?当我更改我之前规定的查询时,它们是如何工作的。
-
该错误可能意味着
$query是null,如果查询没有返回结果,则很可能是这种情况。如果query()返回null(如果结果为空),请检查您的 DB 类。您的生产表中的数据集与本地表中的数据集是否完全相同? -
Quasdunk,正是你抓住了。我使用 var_dump 检查它,但它在加入时查询为空。
-
几乎可以肯定,您的生产数据库和开发数据库之间存在差异。当您使用 mysql 客户端直接在数据库上运行查询时会发生什么?
标签: php mysql sql codeigniter