ezSQL の使い方。 http://justinvincent.com/ezsql 上記のサイトが公式のサイトのようです。 「Download ezSQL at Github」をクリックして Github から ezSQL をダウンロードします。 ここをクリックで ダウンロード 解凍して出来たファイルの中身はこんな感じです。 「msSQL」や「mySQL」、「oracle」に「PostgreSQL」…と、SQL 構文が 使える様々な RDBMS に対応しています。 今回使うのは、MySQL なので ・shared フォルダの中の「ez_sql_core.php」と ・mysql フォルダの中の「ez_sql_mssql.php」を使います。 まずは、この二つのファイルをインクルードしてデータベースに接続 する作業を行う「DB.php」でも作りましょう。 DB.php <?php include_once "shared/ez_sql_core.php"; include_once "mysql/ez_sql_mysql.php"; $db = new ezSQL_mysql(' ユーザー名 ',' パスワード ','DB 名 ',' ホスト名 '); ?> 接続設定も結構簡単ですね。 core.php と DB 種類別の php ファイルを読み込んで 「new ezSQL_mysql () 」 でインスタンスを作成するだけです。 それじゃ、早速使ってみましょう。 今回は Xampp を使ってみました。 Xampp フォルダ直下に、先程解凍して DB.php を作ったフォルダごと入れちゃいます。 わかりやすく、「ezsql」という名前でリネーム してあります。 プログラム関連のファイルは、Web 公開領域 より上に置くのは基本です。 大切なファイルの中身を見られてしまう可能 性も否定できませんので。 そうしたら「htdocs」の下の index.php(じゃなくてもいいけど)から DB.php を呼び出します。 <?php include_once "../ezsql/DB.php"; ?> これだけで読み込みが完了です。 DB にアクセスしてなにか読み込んだり書き込んだりできるようになったわけです。 今回は「mytest」という名前の DB に「temp」というテーブルを作成して 右の図のようなデータを入れてみました。 help ファイルによると、ほとんどの操作は以下のような基本的な4つの操作になる模様です。 1、Insert または Update などのクエリを実行する bool $db->query(query) 2、データベースから単一の変数を取得する var $db->get_var(query) 3、データベースから単一の行を取得 mixed $db->get_row(query) 4、データベースから結果のリストを取得する mixed $db->get_results(query) 他に、「$db->debug();」なんていう便利なモノがあります。 コードと結果 <?php include_once "../ezsql/DB.php"; echo $db->query("SELECT * FROM temp"); ?> 全データのカウントを表示しているみたいです。 <?php include_once "../ezsql/DB.php"; $data = $db->get_row("SELECT * FROM temp where id = 9"); echo $data->name; echo $data->id; ?> where 句を使ってデータを1行取得。 <?php include_once "../ezsql/DB.php"; var_dump( $db->get_results("SELECT * FROM temp") ); ?> 全データを取得して dump してみました。 <?php include_once "../ezsql/DB.php"; foreach ( $db->get_col("SELECT id,name FROM temp") as $name ) { echo $name . "<br>\n"; } ?> get_col() を foreach でまわしてみた。 id,name を取得してきてるんだけど、name を表示するのってどうや るんだろ? <?php include_once "../ezsql/DB.php"; foreach ( $db->get_results("SELECT * FROM temp") as $val){ echo $val->id."->" . $val->name . "<br>\n";} ?> なんやかんやで get_result() を使いなさいってことなのかな? <?php include_once "../ezsql/DB.php"; // データの追加 $db->query(" SET CHARACTER SET utf8 "); $db->query("INSERT INTO temp (name) VALUES (' 追加。')"); ?> SET CHARACTER クエリを INSERT クエリの前に実行しておか ないと、文字化けします。 <?php include_once "../ezsql/DB.php"; $db->query(" SET CHARACTER SET utf8 "); foreach ( $db->get_results("SELECT * FROM temp") as $val){ echo $val->id."->" . $val->name . "<br>\n"; } $db->debug(); ?> 「$db->debug();」は、めちゃくちゃ使えます。 直近のクエリの結果を、表にして表示してくれちゃう機能です。 まあ、こんな感じで基本的に SQL 構文が分かるのであればかなり便利 に DB 操作ができるプラグインになってます。 是非、お試しあれ。
© Copyright 2024 Paperzz