ezSQL の使い方。 - webmage.pro

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 操作ができるプラグインになってます。
是非、お試しあれ。