Php/codeigniter/db
提供: 初心者エンジニアの簡易メモ
db自動接続
application/config/autoload.php
- $autoload['libraries'] = array(); + $autoload['libraries'] = array('database');
手動接続
以下でデフォルトのdbに接続
$this->load->database();
db設定
application/config/database.php
以下デフォルト設定
$db['default'] = array( 'dsn' => '', 'hostname' => 'localhost', 'username' => '', 'password' => '', 'database' => '', 'dbdriver' => 'mysqli', '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 );
PDOを使う場合は以下の通りdnsを設定する
'dsn' => 'mysql:host=localhost;dbname=mydatabase',
usernameと、passwordと、databaseを設定する。
'username' => '', 'password' => '', 'database' => '',
"No database selected"とエラーが出る場合
application/config/database.php
'database' => ,
が空になってないか確認する。
SQLの実行
参照
$this->db->query("select * from users");
挿入
$this->db->query("insert into users(code, name, age) values('taro', 'taro!', 10);"); $this->db->query("insert into users(code, name, age) values('jiro', 'jiro!', 8);");
$this->db->query("insert into users(code, name, age) values('jiro', 'jiro!', 8);");
使用したtable定義
drop table users; create table users( id int(11) unsigned NOT NULL AUTO_INCREMENT, code varchar(15), name varchar(15), age int(11) unsigned, PRIMARY KEY(id), UNIQUE KEY `code` (`code`) );
公式
https://codeigniter.jp/user_guide/3/database/connecting.html