CodeIgniter では、データベースの使用が非常に頻繁に行われます。フレームワークに付属するデータベース クラスを使用すると、データベース操作を簡単に実行できます
データベースクラスの初期化 データベース構成に従ってデータベース クラスをロードして初期化します。 コードは以下のように表示されます。 this->load->database(); 一度ロードすればどこでも使用できます。 クエリ結果をオブジェクトとして返す コードは以下のように表示されます。 $query = $this->db->query('SELECT name, title, email FROM my_table'); foreach ($query->result() as $row) { echo $row->title; echo $row->name; echo $row->email; } echo '合計結果: ' $query->num_rows(); 上記の result() 関数はオブジェクトの配列を返します。例: $row->title クエリ結果を配列として返す コードは以下のように表示されます。 $query = $this->db->query('SELECT name, title, email FROM my_table'); foreach ($query->result_array() as $row) { エコー $row['タイトル']; echo $row['名前']; echo $row['電子メール']; } 上記の result_array() 関数は、添字付きの配列を返します。例: $row['title'] データの一部を返す オブジェクトの形式: コードは以下のように表示されます。 $query = $this->db->query('SELECT name FROM my_table LIMIT 1'); $row = $query->row(); echo $row->name; 上記の row() 関数はオブジェクトを返します。例: $row->name 配列形式: コードは以下のように表示されます。 $query = $this->db->query('SELECT name FROM my_table LIMIT 1'); $row = $query->row_array(); echo $row['名前']; 上記の row_array() 関数は配列を返します。例: $row['name'] データの挿入 コードは以下のように表示されます。 $sql = "INSERT INTO mytable (タイトル、名前) VALUES (".$this->db->escape($title).", ".$this->db->escape($name).")"; $this->db->query($sql); echo $this->db->affected_rows(); データベース構成 CodeIgniter には、データベース接続値 (ユーザー名: ユーザー名、パスワード: パスワード、データベース名: データベース名など) を保存できる構成ファイルがあります。構成ファイルは次のパスにあります: application/config /データベース.php アクセサリ ファイルは、次の形式で多次元配列に保存されます。 コードは以下のように表示されます。 $db['デフォルト']['ホスト名'] = "ローカルホスト"; $db['デフォルト']['ユーザー名'] = "ルート"; $db['デフォルト']['パスワード'] = ""; $db['デフォルト']['データベース'] = "データベース名"; $db['default']['dbdriver'] = "mysql"; $db['default']['dbprefix'] = ""; $db['default']['pconnect'] = TRUE; $db['default']['db_debug'] = FALSE; $db['default']['cache_on'] = FALSE; $db['default']['cachedir'] = ""; $db['default']['char_set'] = "utf8"; $db['default']['dbcollat'] = "utf8_general_ci"; 多次元配列を使用する理由は、複数の連結された値設定を自由に保存できるようにするためです。例: 複数の環境 (開発、実稼働、テストなど) を実行している場合は、環境ごとに独立した接続グループを作成し、グループ間を直接切り替えることができます。たとえば、「テスト」環境をセットアップするには、次のようにします。 コードは以下のように表示されます。 $db['テスト']['ホスト名'] = "ローカルホスト"; $db['テスト']['ユーザー名'] = "ルート"; $db['テスト']['パスワード'] = ""; $db['テスト']['データベース'] = "データベース名"; $db['test']['dbdriver'] = "mysql"; $db['test']['dbprefix'] = ""; $db['test']['pconnect'] = TRUE; $db['test']['db_debug'] = FALSE; $db['test']['cache_on'] = FALSE; $db['test']['cachedir'] = ""; $db['test']['char_set'] = "utf8"; $db['test']['dbcollat'] = "utf8_general_ci"; システムに「test」グループを使用するように指示するには、構成ファイルにある変数を設定します。 コードは以下のように表示されます。 $active_group = "テスト"; 注: 「test」という名前は任意であり、自由に設定できます。もちろん、メインの接続ではデフォルトで「default」という名前を使用します。 アクティブなレコード Active Record クラスは、データベース構成ファイルの $active_record 変数を使用してグローバルに設定できます (TRUE/FALSE (ブール値) を許可/無効にします)。このクラスを使用しない場合は、変数値を に設定することでコストを削減できます。 FALSE。データベース クラスの初期化中のコンピューター リソースの消費。 $active_record = TRUE; 注: セッションなどの一部の CodeIgniter クラスでは、一部の関数を実行するときにアクティブ レコードのサポートが必要です。 パラメータ分析: hostname - データベースのホスト名。通常はローカル マシン上にあり、「localhost」と表現できます。 username - データベースに接続する必要があるユーザー名。 パスワード - データベースにログインするためのパスワード。 データベース - 接続する必要があるデータベースの名前。 dbdriver - データベースの種類。例: mysql、postgres、odbc など。小文字である必要があります。 dbprefix - Active Record クエリを実行するときのテーブル プレフィックス。これにより、複数の CodeIgniter プログラムをデータベースにインストールできます。 pconnect - TRUE/FALSE (ブール値) - 永続的な接続を使用します。 db_debug - TRUE/FALSE (ブール値) - データベースのエラー メッセージを表示します。 cache_on - TRUE/FALSE (ブール値) - データベース クエリ キャッシュが有効かどうか。詳細については、データベース キャッシュ クラスを参照してください。 cachedir - データベース クエリ キャッシュ ディレクトリが配置されているサーバーへの絶対パス。 char_set - データベースとの通信時に使用される文字セット。 dbcollat - データベースと通信するときに使用される文字照合。 port - データベースのポート番号。現在、Postgres ドライバーによってのみ使用されます。この値を使用するには、データベース構成配列にコード行を追加する必要があります。 。