【发布时间】:2015-12-27 21:41:59
【问题描述】:
如何编写以下查询
SELECT * FROM `TABLE_NAME` WHERE 1
在 codeigniter 活动记录表单中?
我尝试了类似的方法:
$this->db->select('*');
$this->db->from('TABLE_NAME');
$this->db->where('1');
但我收到以下错误:
错误号:1054
“where 子句”中的未知列“1”
SELECT * FROM (`TABLE_NAME`) WHERE `1` IS NULL
我使用相同的方法从数据库中选择值。我只是传递列、条件和表名。我的问题是,当我想从一个表中获取所有数据时,我将在 where 子句中给出什么?
以下是我的查询部分:
function get($fields,$table,$where)
{
$this->db->select($fields);
$this->db->from($table);
$this->db->where($where);
$q = $this->db->get();
if($q->num_rows() > 0)
{
foreach($q->result() as $row)
{
$data[] = $row;
}
return $data;
}
}
按照我在控制器中调用函数的方式:
$data['details'] = $this->MODEL_NAME->get("*",PREFIX."TABLE_NAME",1);
这里的模型是从自动加载中加载的。
【问题讨论】:
-
列名是什么?
-
sql 错误。应该类似于 SELECT * FROM Customers WHERE Country='Mexico';
-
SELECT * FROM t WHERE 1等价于 DBMS 中的SELECT * FROM t,其中1表示true。为什么你特别需要WHERE 1位? -
@Amadan 我已经编辑了我的问题:我使用相同的方法从数据库中选择值。我只是传递列、条件和表名。我的问题是,当我想从表中获取所有数据时,我将在 where 子句中给出什么?
-
"我的问题是,当我想从一个表中获取所有数据时,我将在 where 子句中给出什么?"没有;不要给出
WHERE子句。WHERE用于限制数据集 - 你不想限制它,只是不要限制它。
标签: php mysql codeigniter