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 */
これは、メインを表示すると次のようになります。
アレイアレイアレイアレイアレイアレイアレイアレイアレイアレイアレイアレイアレイアレイアレイアレイアレイアレイアレイ
テーブルには 19 行あるので、これから何かを得ていることがわかります ( Array
19 回エコーするため)。しかし、他の呼び出しは機能していないようです。(すなわち)echo $row['id'];
var_dump
上の Aは次を$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 }
表にはデータがありますが、ここには表示されません...