CodeIgniterで接続しているデータベースにPHPからテーブルを作成するサンプルコード

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。
ただいま、CodeIgniterにてオリジナルCMSを制作中の「とあるクリエイター」です。 その関係で「CodeIgniter」関連のメモの更新が増える予定です。
今回はCodeIgniterで接続しているデータベースにPHPからテーブルを作成するサンプルコードをメモしました。
最初に
まず、以下のサンプルテーブルを作ると仮定してサンプルコードを紹介いたします。
※実装時はフォームなどから、自由にフィールド名などの各項目を設定できるようにカスタマイズしてください。
サンプルテーブル
名前 | データ型 | デフォルト値 | その他 |
---|---|---|---|
id | INT(5) | auteincrement | |
str | VARCHAR(100) | ||
checkbox | ENUM(a,b,c) | a | |
created | DATETIME |
テーブルを自動で作成
以下のパスのページにアクセスすると上記のサンプルテーブルを作成する
仕様で作成します。
sqlサイトURL/table/add
モデルの作成
以下のファイルを作成します。
application/model/table_model.php<?php
class Table_model extends CI_Model{
function __construct(){
parent::__construct();
$this->load->database();
$this->load->dbforge();
}
public function add_table($fields,$table_name){
if(!$this->db->table_exists($table_name)){
$this->dbforge->add_field($fields);
$this->dbforge->add_key('id');
$this->dbforge->create_table($table_name);
return true;
}
}
}
?>
コードについて
テーブルが存在しているか確認します。
php$this->db->table_exists();
データベースフォージクラスを読み込みます。
php$this->load->dbforge();
フィールドをセットします。
php$this->dbforge->add_field();
キーをセットします。
php$this->dbforge->add_key();
テーブルを作成します。
php$this->dbforge->create_table();
コントローラーの作成
以下のファイルを作成します。
application/controller/table.php<?php
class talbe extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->model('Table_model');
}
public add(){
$table_name = 'sample_table'; //テーブル名
$fields = array(
'id' => array(
'type' => 'INT',
'constraint' => 5,
'auto_increment' => TRUE
),
'str' => array(
'type' => 'VARCHAR',
'constraint' => '100'
),
'checkbox' => array(
'type' => 'ENUM',
'constraint' => array('a','b','c'),
'default' => 'a'
),
'created' => array(
'type' => 'DATETIME'
)
);
if($this->Table_model->add_table($fields,$table_name)){
echo $table_name.'を作成しました。';
}
}
}
?>
コードについて
$table_name
に作りたいテーブル名を入れます。
$fields
に作りたいテーブルのフィールドを入れます。
今回は上記サンプルテーブルの内容を``$fields`の配列に代入しています。
最後に
ざっくりとした内容ですがこれで以下へへアクセスすると
tableが作成されます。
sqlサイトURL/table/add
いろいろとカスタマイズをして実装してみてください。
参考文献
- article
CodeIgniterで接続しているデータベースにPHPからテーブルを作成するサンプルコード
- article
「Codeigniter」トラックバック受信処理について使い方とサンプル
- article
PHPでフォーム送信時のCAPTCHA(画像認証) を簡単に設置できる「Securimage」の使い方とサンプル
- article
PHPから日本語のメールを送信するやり方
- article
「WordPress」ログインしていないユーザへのリダイレクトや自動ログインなど処理いろいろ
- article
PHP(Codeigniter使用)からブログ投稿時にTwitterへ自動投稿してみました。
- article
CodeIgniterで接続しているデータベースにPHPからテーブルを作成するサンプルコード
- article
「Codeigniter」トラックバック受信処理について使い方とサンプル
- article
PHP(Codeigniter使用)からブログ投稿時にTwitterへ自動投稿してみました。
- article
PHP(Codeigniter使用)からブログ投稿時にFacebookページへ自動投稿してみました。
- article
Python で始める自動化:ファイル操作・定期実行・スクレイピングの実践
- article
生成 AI 時代の新常識!GPT-5 のセキュリティ・倫理・安全設計の最新動向
- article
【実践】NestJS で REST API を構築する基本的な流れ
- article
TypeScript × GitHub Copilot:型情報を活かした高精度コーディング
- article
Motion(旧 Framer Motion)Variants 完全攻略:staggerChildren・when で複雑アニメを整理する
- article
JavaScript のオブジェクト操作まとめ:Object.keys/entries/values の使い方
- blog
Googleストアから訂正案内!Pixel 10ポイント有効期限「1年」表示は誤りだった
- blog
【2025年8月】Googleストア「ストアポイント」は1年表記はミス?2年ルールとの整合性を検証
- blog
Googleストアの注文キャンセルはなぜ起きる?Pixel 10購入前に知るべき注意点
- blog
Pixcel 10シリーズの発表!全モデル Pixcel 9 から進化したポイントを見やすく整理
- blog
フロントエンドエンジニアの成長戦略:コーチングで最速スキルアップする方法
- blog
失敗を称賛する文化はどう作る?アジャイルな組織へ生まれ変わるための第一歩
- review
今の自分に満足していますか?『持たざる者の逆襲 まだ何者でもない君へ』溝口勇児
- review
ついに語られた業界の裏側!『フジテレビの正体』堀江貴文が描くテレビ局の本当の姿
- review
愛する勇気を持てば人生が変わる!『幸せになる勇気』岸見一郎・古賀史健のアドラー実践編で真の幸福を手に入れる
- review
週末を変えれば年収も変わる!『世界の一流は「休日」に何をしているのか』越川慎司の一流週末メソッド
- review
新しい自分に会いに行こう!『自分の変え方』村岡大樹の認知科学コーチングで人生リセット
- review
科学革命から AI 時代へ!『サピエンス全史 下巻』ユヴァル・ノア・ハラリが予見する人類の未来