PHPからデータベースを利用する

このページはPEARを利用してアクセスする方法以外の方法でのアクセスについてまとめました。

PEARの利点は汎用的なクラス・ライブラリを使いますから便利ですが、ブラック・ボックスになりやすいので、それを避けたい人向けです。

しかし、PEARを使わなくても、なんらかのライブラリを作られることをお勧めします。PHPの生の関数を利用すると、将来、データベース・ソフトを変えたいときに大変ですから。


MySQLへアクセス

MySQLへアクセスするのは簡単です。特別な設定などは何もありません。

MySQLのコーディング上の手順は次のようになります。

  1. mysql_connectでデータベース・サーバーへ接続する。
  2. mysql_select_dbで利用するデータベースを選択する。ただし、これはSQL文にデータベース名を必ず書く(「データベース名.テーブル名」と記述)のでしたら必要はありません。
  3. SQL文を生成する。
  4. mysql_queryで生成しておいたSQL文を実行する。
  5. mysql_queryが成功したかをチェックして、エラーならエラー処理。
  6. SQLがSELECT文の時は、結果を取得して何らかのアクションをする。

簡易的な関数を利用する

たとえば、次のような簡単なユーザー関数を準備しておくだけでもPHP標準のMySQL関数を直接利用するよりはいいですね。

// 指定したサーバーのMySQLデータベースへ接続
// 失敗したらfalseを返す
function db_connect($server, $db, $user, $pass) {
	if (!($conn = @mysql_connect($server, $user, $pass))) return false;
	if (!@mysql_select_db($db, $conn)) return false;
	return $conn;
}

これでしたら、万一、将来はPostgreSQLへ変えたいようなとき、次のように内部の関数だけ変えればOKですよね。(もちろん、MySQLに依存したSQL文は変更しなくてはダメですけど)

// 指定したサーバーのPostgreSQLデータベースへ接続
// 失敗したらfalseを返す
function db_connect($server, db, $user, $pass) {
	$connStr = "host=$server port=5432 dbname=$db user=$user password=$pass");
	if (!($conn = @pg_connect($connStr))) return false;
	return $conn;
}

私もたいていの場合、この「簡易関数の方法」を利用しています(実際にはもう少し複雑なクラス・ライブラリを使ってます)。

戻る

Copyright©2001-2019 釣ったよ! All Right Reserved.    sg@tsuttayo.jpn.org