私はCodeiteiterをSQLiteで使いたい新しいプロジェクトを開始しています。私はこれに関する情報を検索し、SQLiteデータベースからデータを取得して取得することに成功しましたが、これを使ってテーブルのCRUDを作成するにはどうすればよいか分かりませんでした。 MySQLはそれが動作していない購入してください。ここでSQLiteを使用してCodeigniterでCRUDを作成するにはどうすればよいですか?
は私がやったことです:
のconfig/database.phpで
$db['default'] = array(
'dsn' => '',
'hostname' => '',
'username' => '',
'password' => '',
'database' => APPPATH.'/database/Pasapalabra.sqlite',
'dbdriver' => 'sqlite3',
'dbprefix' => '',
'pconnect' => FALSE,
'db_debug' => (ENVIRONMENT !== 'production'),
'cache_on' => FALSE,
'cachedir' => '',
'char_set' => 'utf8',
'dbcollat' => 'utf8_general_ci',
'swap_pre' => '',
'encrypt' => FALSE,
'compress' => FALSE,
'stricton' => FALSE,
'failover' => array(),
'save_queries' => TRUE
);
のconfig/autoload.php
$autoload['libraries'] = array('database');
モデル/ modelo_prueba.php
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class modelo_prueba extends CI_Model {
public function getTestData() {
return $this->db->get('preguntas')->result();
}
}
?>
コントローラ/ Welcome.php
public function __construct() {
parent::__construct();
$this->load->library("grocery_CRUD");
}
public function prueba() {
$this->load->model('modelo_prueba');
$dataSet = $this->modelo_prueba->getTestData();
$this->load->view('data_view', [
'dataSet' => $dataSet
]);
}
ビュー/ data_view.php
<h4>Lets test the data</h4>
<?php
if($dataSet) {
foreach($dataSet as $dataItem) {
echo $dataItem->definicion . "<hr>";
}
}
?>
<h5>done!</h5>
これは私のために働いた、それはpreguntas "、データベース内のすべて正しくデータを示しているが、今、私は私が通常行うだけのようなCRUDを作成しようとしていますMySQLとそれが動作している、それはデータベースのエラーを示しています。
私は上記のコードから変更されている唯一のことは、Welcome.php
public function prueba() {
$crud = new Grocery_CRUD();
$crud->set_table('preguntas');
$output = $crud->render();
$this->load->view("example.php", $output);
}
で画面に表示されるエラーは次のとおりです。
A PHP Error was encountered
Severity: Warning
Message: SQLite3::query(): Unable to prepare statement: 1, near "SHOW": syntax error
Filename: sqlite3/sqlite3_driver.php
Line Number: 129
Backtrace:
File: C:\xampp\htdocs\Pasapalabra_Isidro\application\models\Grocery_crud_model.php
Line: 436
Function: query
File: C:\xampp\htdocs\Pasapalabra_Isidro\application\libraries\Grocery_CRUD.php
Line: 48
Function: get_field_types_basic_table
File: C:\xampp\htdocs\Pasapalabra_Isidro\application\libraries\Grocery_CRUD.php
Line: 1567
Function: get_field_types
File: C:\xampp\htdocs\Pasapalabra_Isidro\application\libraries\Grocery_CRUD.php
Line: 4507
Function: showList
File: C:\xampp\htdocs\Pasapalabra_Isidro\application\controllers\Welcome.php
Line: 38
Function: render
File: C:\xampp\htdocs\Pasapalabra_Isidro\index.php
Line: 315
Function: require_once
A Database Error Occurred
Error Number: 0
not an error
SHOW COLUMNS FROM `preguntas`
Filename: C:/xampp/htdocs/Pasapalabra_Isidro/system/database/DB_driver.php
Line Number: 691
誰もが何であるかを知っていますハプニング?前のコードが機能していたのでデータベース接続にエラーはありませんが、Grocery CRUDはSQLiteのCRUDを作成できません。
私はCodeIgniterの3.1.4で働いていると私はSQLiteのマネージャ(Firefoxの)とSQLiteデータベースを作成0.8.3.1
あなたの答えをいただき、ありがとうございます。あなたは食料品の豆腐ライブラリを変更する必要がsqlite3の持つ作品と食料品のCRUDフォームポストから
grocery_crudモデルでは、sqlite3と互換性がないテーブルからカラム名をフェッチするためにraw sqlクエリを使用していますが、sqlite3互換にするために数行のコードを書き直す必要があります。チェックインしてgrocery_crud_modelを表示 – umefarooq
私はちょうど私がデータベースを変更することができますこのプロジェクトを開始して以来、私はこれらの頭痛を保存する代わりにMySQLを使用します。答えてくれてありがとう。 – Ise92
sqlite3でうまく動作する食料品のための解決策がありますsqlite3でうまく動作します私は答えを確認します – umefarooq