Fab*_*bio 6 php mysql codeigniter
我需要使用Codeigniter查询生成器执行此查询:
SET @row_number:=0;
SELECT Id, @row_number:=@row_number+1 as Position
FROM my_table
WHERE date='2015-12-26'
Run Code Online (Sandbox Code Playgroud)
我可以通过使用"$ this-> db-> query"函数来完成它,如下所示:
$query = 'SET @row_number:=0;';
$this-> db-> query ($query);
$query = 'SELECT Id, @row_number:=@row_number+1 as Position';
$query = $query . ' FROM my_table';
$query = $query . ' WHERE date=\'' . $data . '\''
Run Code Online (Sandbox Code Playgroud)
但是,我的问题是:如果没有硬编写查询,有没有办法做到这一点,所以写这样的东西:
$query = 'SET @row_number:=0;';
$this-> db-> query ($query);
#*****It's wrong!!!!*****
$this -> db -> select(array('Id', '@row_number:=@row_number+1 as Position'));
$this -> db -> from('my_table');
$this -> db -> where('date', $data);
$query = $this -> db -> get();
Run Code Online (Sandbox Code Playgroud)
不需要pass array in select你只需将查询写为
$this -> db -> select('Id, @row_number:=@row_number+1 as Position');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1085 次 |
| 最近记录: |