我在让 CodeIgniter 与 SQLite3 一起工作时遇到问题。
这是我的 database.php 配置:
$active_group = 'sqlite';
$query_builder = TRUE;
/* SQLite3 config for PDO */
$db['sqlite'] = array (
'dsn' => 'sqlite:' .FCPATH.'virtTour_original.sqlite',
'hostname' => '',
'username' => '',
'password' => '',
'dbdriver' => 'pdo',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => TRUE,
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'autoinit' => TRUE,
'stricton' => FALSE,
'failover' => array()
);
这是我正在测试的控制器:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Main extends CI_Controller {
function __construct()
{
parent::__construct();
$this->load->database();
}
public function index()
{
$query = $this->db->get('tblBuildings');
foreach ($query->result_array() as $row)
{
echo $row;
}
}
}
/* End of file main.php */
/* Location: ./application/controllers/main.php */
这就是我查看 main 时发生的情况:
ArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArrayArray
表中有 19 行,所以我知道它从中得到了一些东西(因为它回显了Array
19 次)。但其他电话似乎不起作用。(IE)echo $row['id'];
A var_dump
on$query
产生:
object(CI_DB_pdo_result)#16 (8) { ["conn_id"]=> object(PDO)#14 (0) { } ["result_id"]=> object(PDOStatement)#15 (1) { ["queryString"] => string(28) "SELECT * FROM "tblBuildings"" } ["result_array"]=> array(0) { } ["result_object"]=> array(0) { } ["custom_result_object"]=> array( 0) { } ["current_row"]=> int(0) ["num_rows"]=> NULL ["row_data"]=> NULL }
表中有数据,但这里没有显示...