Php 普通SQL到Codeigniter语法

Php 普通SQL到Codeigniter语法,php,mysql,sql,codeigniter,Php,Mysql,Sql,Codeigniter,在将sql转换为codeigniter语法时,我遇到了一些小麻烦。我可以使用这个简单的sql并获得结果,但我必须使用return$this->db->query($sql,array($param))->result()我猜它不会返回数组(虽然不确定,但我一直收到一个错误“不能将stdClass类型的对象用作…”中的数组,我不知道是否可以修改该查询以返回数组或任何其他解决方法),我想对我来说最好的办法是遵循查询的CI语法,然后使用return$query->result_array()从查询中获

在将sql转换为codeigniter语法时,我遇到了一些小麻烦。我可以使用这个简单的sql并获得结果,但我必须使用
return$this->db->query($sql,array($param))->result()
我猜它不会返回数组(虽然不确定,但我一直收到一个错误“不能将stdClass类型的对象用作…”中的数组,我不知道是否可以修改该查询以返回数组或任何其他解决方法),我想对我来说最好的办法是遵循查询的CI语法,然后使用
return$query->result_array()
从查询中获取结果数组。我知道这可能是非常基本的东西,但不知何故,我无法弄清楚如何准确地将sql转换为CI语法。任何帮助都将不胜感激。谢谢下面是sql语句

SELECT dirmast.entryID,dirmast.entryTitle,dirmast.entryShortDesc,dirsec.dirsecRefID 
FROM dirmast,dirsec 
WHERE dirsec.drtext = 'something' 
AND dirsec.dirsecRefID = dirmast.entryID 
GROUP BY dirsec.dirsecRefID

我想这会满足你的要求:

$this->db->select('dirmast.entryID,dirmast.entryTitle,dirmast.entryShortDesc,dirsec.dirsecRefID');
$this->db->from('dirmast');
$this->db->join('dirsec','dirsec.dirsecRefID = dirmast.entryID');
$this->db->where('dirsec.drtext','something');
$this->db->group_by('dirsec.dirsecRefID');

我想这会满足你的要求:

$this->db->select('dirmast.entryID,dirmast.entryTitle,dirmast.entryShortDesc,dirsec.dirsecRefID');
$this->db->from('dirmast');
$this->db->join('dirsec','dirsec.dirsecRefID = dirmast.entryID');
$this->db->where('dirsec.drtext','something');
$this->db->group_by('dirsec.dirsecRefID');

如果要将结果放入数组中,请执行
->result\u array()
,如果要将其作为对象,请执行
->result()
。无论哪种方式,您都可以同时使用活动记录和
query()

如果您希望结果在数组中,您可以使用
->result\u array()
,如果您希望它作为对象,您可以使用
->result()
。无论哪种方式,您都可以使用活动记录和
query()

其中一个与另一个有什么关系?如果要将结果放入数组中,请执行
->result\u array()
,如果要将其作为对象,请执行
->result()
。无论哪种方式,您都可以使用活动记录和
query()
。哇,现在我觉得自己像个白痴。这就解决了问题,非常感谢。如果它解决了,那么我会把它作为一个答案发布,你应该接受它。这样其他人就会知道答案了。一个和另一个有什么关系?如果要将结果放入数组中,请执行
->result\u array()
,如果要将其作为对象,请执行
->result()
。无论哪种方式,您都可以使用活动记录和
query()
。哇,现在我觉得自己像个白痴。这就解决了问题,非常感谢。如果它解决了,那么我会把它作为一个答案发布,你应该接受它。这样,其他回答这个问题的人就会知道答案。