【问题标题】:MySql join query is working on local server but not working on live serverMySql 连接查询在本地服务器上工作,但在实时服务器上不工作
【发布时间】: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连接错误?当我更改我之前规定的查询时,它们是如何工作的。
  • 该错误可能意味着$querynull,如果查询没有返回结果,则很可能是这种情况。如果query() 返回null(如果结果为空),请检查您的 DB 类。您的生产表中的数据集与本地表中的数据集是否完全相同?
  • Quasdunk,正是你抓住了。我使用 var_dump 检查它,但它在加入时查询为空。
  • 几乎可以肯定,您的生产数据库和开发数据库之间存在差异。当您使用 mysql 客户端直接在数据库上运行查询时会发生什么?

标签: php mysql sql codeigniter


【解决方案1】:

修正了你的数据库类名。有必要。 可能您已将模型类名称写为

  class event_model extends CI_Model and change it
  class Event_model extends CI_Model
  also change your db collaborate in config.php

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-06-07
    • 1970-01-01
    • 2019-03-16
    • 1970-01-01
    • 1970-01-01
    • 2021-10-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多