0

只是想知道如何使用 Active Record 在 CodeIgniter 中最好地实现以下目标:

$language = 'nl'; // or 'en', 'sp', etc.
$this->db->select('id, description_'.$language.' as description, some_more_fields');
$q = $this->db->get('table_name');

如果我像这样使用它,那$q将不是一个正确的数据库结果对象,并且稍后在使用它时会出现致命错误:

PHP Fatal error: Call to a member function num_rows() on a non-object in /somescript.php on line 12345

此外,该$language变量是从用户输入派生的,因此 imo 应该正确转义..

谢谢!

4

2 回答 2

1

$q 将是一个对象数组,因此使用如下:

foreach ($q->result() as $row)
    {
       echo $row->id;
       echo $row->description;
       echo $row->some_more_fields;
    }

http://ellislab.com/codeigniter/user-guide/database/results.html

于 2013-05-10T10:48:56.960 回答
1

你引用错了,

$this->db->select('id, description_'.$language.' as description, some_more_fields');
于 2013-05-10T10:45:44.747 回答