コードイグナイター クエリについて
SQLを使ってみよう
クエリを生成する方法、実行方法などについて、ご紹介します。
クエリも、DBと同じで、2種類あります。文字のエスケープも合わせて覚えましょう。
クエリの生成と実行
2種類の方法がある
SQLのクエリを投げたりするには、があります。
「ActiveRecord」 「query」 |
があります。
「Active Record」を利用すれば、全て自動で処理できます。
データベース操作を100% 「Active Record」を用いて開発する事も可能です。
SQLクエリの実行しよう
query()メソッドを使おう
SELECT文を発行して、テーブルからデータを取り出します。
SQLクエリの実行は、「query()」メソッド に文字列を指定して実行する。
当たり前ですが、まずはDBに接続しておく事が必要です。
query($sql, $binds = FALSE, $return_object = TRUE) |
■書き方
$query = $this->db->get('mytable'); |
■発行されるクエリ↓↓
SELECT * FROM mytable |
第1引数に文字列を指定すると、テーブルの名前を指定したことになります。
引数が2つの場合
$query = $this->db->get('mytable', 10, 20); |
と書くと
SELECT * FROM mytable LIMIT 20, 10 |
mytableはテーブルの名前です。自分が利用するテーブルの名前を入れましょう。
というSQLのクエリを発行する事ができます。
「query()」メソッドでSQLクエリを実行すると、SQLキャッシュの対象となります。
(設定:「cache_on」)
読み込みSQL クエリ
SQLクエリの実行に成功すると、結果のオブジェクトを返します。
SQLクエリの実行に失敗した場合は「FALSE」を返します。
$sql = 'SELECT * FROM `user_tbl`'; |
読み込みSQL クエリ
引数に「SQLクエリ」を指定しましょう。
simple_query()メソッドは「query()」とは違い、SQLクエリを実行するだけで、結果オブジェクトを返しません。
SQLクエリ実行成功時は「TRUE」、 失敗時は「FALSE」を返します。
$this->db->simple_query('DO RELEASE_LOCK('lock')'); |
※どんな時に使うのか?はなぞ
書き込みSQL クエリ
書込みSQLクエリを実行、成功すると「TRUE」
失敗すると「FALSE」を返します。
$sql = 'INSERT INTO user_tbl' ('userid', 'name') VALUES ('12345', 'TARO')'; |
安全を高める
引数が文字列の場合、安全な文字列にエスケープ処理されます。
escape($str) |
データがBool値の場合・・・「0」、または、「1」 に変換
「NULL」の場合・・・ 「'NULL'」として文字列に変換。
(SQLクエリ実行時はNULLデータとして扱われます。)
使い方
$val = "That's good."; //POST[""]などで値を動的に入れるといいね
$val = $this->db->escape($val); //ここの書き方が重要
$sql = "INSERT INTO 'comment_tbl' ('comment') VALUES (" . $val . ")";
// INSERT INTO 'comment_tbl' ('comment') VALUES ('That\'s good.')というSQL文 |
【参照】
http://www.ci-guide.info/db/query/
次は結果の取得について覚えましょう。
PHPの勉強方法
目安は1日3~5時間の勉強で100日程度です。実際にやってみましたが、仕事をしながらだと、200日ほどかかります。効率よく学んで行きましょう。
PHPを学ぶには、独自の言葉を覚える必要があります。「・」が付いているものは、外部のサイトへ飛びます。
■ 基本編 ■
PHPとは?
設定方法
PDOとは何か?
mysql_connect()
-> アロー演算子とは?
データベースへのアクセスについて
■ DBへの接続■
管理者権限について
PDOについて知ろう
■ フレームワーク ■
フレームワークは何を使ったらいいのか?
ララベルとは?
コードイグナイターとは?
オートロードとは
無名関数とは?
MVCとは何か?
■ オブジェクト指向■
クラス・インスタンス・プロパティ
オブジェクト指向とは?
【フレームワーク】
基本的には、ララベルを学ぶ方がよい。 ララベルはコンポーザー
MYSQLについて
MYSQLの学習方法について。DBの操作方法を覚えます。 四大操作をまずは覚えておきましょう。
■ 設計について■
UMLとは何か?
ER図を覚えよう
コードイグナイターの勉強方法
コードイグナイターを学んでいきましょう。「・」が付いているものは、外部のサイトへ飛びます。
■ 基本編 ■
クエリ結果を作る
Active Recordとは?
クエリヘルパー関数
■ フレームワーク ■
フレームワークは何を使ったらいいのか?
ララベルとは?
コードイグナイターとは?
オートロードとは
無名関数とは?
MVCとは何か?
【フレームワーク】
基本的には、ララベルを学ぶ方がよい。 ララベルはコンポーザーが入っている。
参照サイト
大変申し訳ありませんが、当社ではサービスの質を落とさないために、月の契約は5件までとさせていただいております。 契約をお待ちいただく可能性もございますので、ご了承のほどよろしくお願いいたします
この記事を読んだ人は、こんな記事も読んでいます
SEO対策の基本 外部要因とは?
SEO対策の基本的である、外部要因とは何か?
SEO対策をするなら絶対に知っておきたい、基本知識です。
売れるサイトを作るのに知って起きたい知識
サーチエンジンマーケティングという言葉をご存知でしょうか?
ホームページで商品やサービスを売る時に知っておきたいマーケティング
についてご紹介いたします。
SEO対策をする5つのメリットとは?
なぜ上位表示させることが大事なのか?なぜSEO対策をする必要があるのか
についてご紹介させていただきます。
SEO対策の内部要因とは?
上位表示させるためには、内部要因について知っておくことも大事です。
キーワードを上位表示させるために必要なのは、ソースコードを最適化することです
内部要因の対策について知りたい方はこちらへ
キーワード対策をする前に
そのキーワード対策。ちょっと待ってください。
そのまま対策をすると、必ずお金を損してしまいます。個人事業主や中小企業は
そんな大きなキーワードで対策をしてはいけません。
広告費用が高くなる本当の理由とは?
売れないサイトに集めていませんか?広告費用がかかるわりには
お問い合わせが少ない・・・と感じる方は多いはずです。
購入率の悪いサイトに集客をしている可能性があります。