当我将普通PHP代码转换为CodeIgniter时,我遇到了一个本机PHP函数问题

当我将普通PHP代码转换为CodeIgniter时,我遇到了一个本机PHP函数问题,php,codeigniter,Php,Codeigniter,当我将普通PHP代码转换为CodeIgniter时,我遇到了一个本机PHP函数问题。你对此有什么想法或替代方案吗 普通PHP代码 $aColumns = array( 'id', 'name', 'first_name' ); $sTable = "ajax"; $sQuery = "SELECT SQL_CALC_FOUND_ROWS ".str_replace(" , ", " ", implode(", ", $aColumns))."FROM $sTable $

当我将普通PHP代码转换为CodeIgniter时,我遇到了一个本机PHP函数问题。你对此有什么想法或替代方案吗

普通PHP代码

$aColumns = array( 'id', 'name', 'first_name' );
$sTable = "ajax";
$sQuery = "SELECT SQL_CALC_FOUND_ROWS 
          ".str_replace(" , ", " ", implode(", ", $aColumns))."FROM   $sTable
$rResult = mysql_query( $sQuery );
while ( $aRow = mysql_fetch_assoc( $rResult ) )
{
  print_r($aRow);
}
完美结果输出

Array
(
    [id] => 1
    [name] => kane
    [first_name] => kane
)
Array
(
    [id] => 2
    [name] => kane
    [first_name] => kane
)
Array
(
    [id] => 3
    [name] => kane
    [first_name] => kane
)
Array
    (
        [id] => 1
        [name] => kane
        [first_name] => kane
    )
Array
    (
        [id] => 1
        [name] => kane
        [first_name] => kane
    )
代码点火器代码

$aColumns = array( 'id', 'name', 'first_name' );
$sTable = "ajax";
$sQuery = "SELECT SQL_CALC_FOUND_ROWS 
           ".str_replace(" , ", " ", implode(", ", $aColumns))."FROM   $sTable
$rResult = $this->db->query($sQuery);
while ( $aRow =  $rResult->row_array() )
{
      print_r($aRow);
}
无限结果输出

Array
(
    [id] => 1
    [name] => kane
    [first_name] => kane
)
Array
(
    [id] => 2
    [name] => kane
    [first_name] => kane
)
Array
(
    [id] => 3
    [name] => kane
    [first_name] => kane
)
Array
    (
        [id] => 1
        [name] => kane
        [first_name] => kane
    )
Array
    (
        [id] => 1
        [name] => kane
        [first_name] => kane
    )

这是因为使用
$result->row_array()

正确的方法是使用
$result->result\u array()
方法来循环结果并将结果作为数组获取。像这样:

foreach( $rResult->result_array() as $aRow )
{
      print_r($aRow);
}

请查看CI中的文档。

这是因为使用
$result->row\u array()

正确的方法是使用
$result->result\u array()
方法来循环结果并将结果作为数组获取。像这样:

foreach( $rResult->result_array() as $aRow )
{
      print_r($aRow);
}

请查看CI中的文档。

删除SQL\u CALC\u FOUND\u行。您不需要这样做,因为您没有限制结果集

foreach($rResult->result_array() as $aRow)
     print_r($aRow);

删除SQL\u CALC\u FOUND\u行。您不需要这样做,因为您没有限制结果集

foreach($rResult->result_array() as $aRow)
     print_r($aRow);

你可能想考虑一下组织SQL语句。

$this->db->select('id, name, first_name')
    ->from('ajax')

$query = $this->db->get();

$count = $query->num_rows();

foreach ($query->result_array() as $row)
    print_r($row);

你可能想考虑一下组织SQL语句。

$this->db->select('id, name, first_name')
    ->from('ajax')

$query = $this->db->get();

$count = $query->num_rows();

foreach ($query->result_array() as $row)
    print_r($row);

$sQuery
行在任何情况下都不会运行,双引号不匹配,并且缺少尾随分号。
$sQuery
行在任何情况下都不会运行,双引号不匹配,并且缺少尾随分号。