PEAR::DBを使わない版で、とりあえず、基本的な関数を実装したクラスを作成してみた。使いながら変えていくつもり。
(MyDBConfig.php)
<?php define("DB_SERVER",""); // サーバ define("DB_NAME",""); // データベース define("DB_USER",""); // ユーザ define("DB_PASSWD",""); // パスワード define("DB_DEBUG",FALSE); // デバッグモード define("DB_MODE",""); // 何かのモード ?>
(MyDBAccess.php)
<?php require_once('MyDBConfig.php'); class MyDBAccess { var $connect; var $result; // コンストラクタ function MyDBAccess() { $this->connect = mysql_connect(DB_SERVER,DB_USER,DB_PASSWD); if(!$this->connect) { die("Can not connect ".DB_SERVER." : ".mysql_error()); } if(!mysql_select_db(DB_NAME)) { die("Can not use ".DB_NAME." : ".mysql_error()); } } // 切断 function close() { mysql_close($this->connect); } // クエリ送信 function query($sql){ $ret = mysql_query($sql,$this->connect); if(!$ret){ die("Invalid query : ".mysql_error()); } return $ret; } // フェッチ function fetch($result){ return mysql_fetch_array($result); } // クエリ送信とフェッチ function query_fetch($sql){ if(!is_null($sql)){ $this->result = $this->query($sql); if(!$this->result){ return FALSE; } } return $this->fetch($this->result); } // 実行 function execute($sql){ $this->result = mysql_query($sql,$this->connect); return $this->result; } // トランザクション開始 function tran_begin(){ $ret = $this->query('begin'); } // ロールバック function rollback(){ $ret = $this->query('rollback'); } // コミット function commit(){ $ret = $this->query('commit'); if(!$ret){ die("Con not commit : ".mysql_error()); $this->rollback(); } return $ret; } } ?>