ホームページ >バックエンド開発 >PHPチュートリアル >一般的な mysql データベース接続クラス コード_PHP チュートリアル
一般的なmysqlチュートリアルデータベースチュートリアル接続コード
データベース接続は限られた高価なリソースであり、データベース接続はプログラムのパフォーマンス指標に影響を与えます。この問題に対処するために、データベース接続プールが提案されました。データベース接続プールは、データベース接続の割り当て、管理、解放を担当します。これにより、アプリケーションは、アイドル時間が最大アイドル時間を超えるデータベース接続を再確立する代わりに、既存のデータベース接続を再利用して、解放の失敗によるエラーを回避できます。データベース接続の欠落が原因です。このテクノロジーにより、データベース操作のパフォーマンスが大幅に向上します。
/*
※2010年3月8日作成
* 作成者:sunitboy
* 初めての mysql クラス
*
*/
クラスmysql{
プライベート $server ="";
プライベート $user ="";
プライベート $pwd ="";
プライベート $database="";
private $linkmode = 1; //接続モード、0 は通常の接続を意味し、1 は永続的な接続を意味します
プライベート $conn = 0;
プライベート $sql ="" //SQL ステートメント
;
private $result ="" // クエリ結果
;
private $record ="" // レコードを保存します
//============================================
//コンストラクター
//============================================
パブリック関数 __construct($server,$user,$pwd,$database,$charset="utf8",$linkmode=0)
{
if(空 ( $server )| 空 ( $user ) | 空 ( $database ))
{
$this->show_error("接続情報が不完全です。サーバー アドレス、ユーザー名、接続されているデータベース情報が提供されているかどうかを確認してください。");
0 を返す;
}
$this->server = $server;
$this->user = $user;
$this->pwd = $pwd;
$this->database = $database;
$this->charset = $charset;
$this->linkmode = $linkmode;
$this->connect();
}
//============================================
//接続関数
//============================================
パブリック関数 connect()
{
$this->conn = $this->linkmode?mysql_pconnect($this->server,$this->user,$this->pwd):
mysql_connect($this->server,$this->user,$this->pwd);
if(!$this->conn)
{
$this->show_error('サーバーに接続できません');
0 を返す;
}
if(!mysql_select_db($this->database))
{
$this->show_error('データベースに接続できません'.$this->database);
0 を返す;
}
// $this->query('set names '.$this->charset);
$this->conn; を返す
}
//============================================
// mysqlクエリ関数
//============================================
パブリック関数クエリ($sql)
{
if(空($sql))
{
$this->show_error('SQL ステートメントが空です');
0 を返す;
}
$this->sql = preg_replace('/ {2,}/',' ',trim($sql));
$this->result = mysql_query($this->sql,$this->conn);
if(!$this->結果)
{
$this->show_error('SQL ステートメント エラー',true);
0 を返す;
}
$this->result;
を返す
}
//============================================
// 関数
//============================================
パブリック関数 select_db($dbname)
{
mysql_select_db($dbname) を返します;
}
パブリック関数 fetch_array($query,$result_type=mysql_assoc)
{
mysql_fetch_array($query,$result_type)を返します;
}
パブリック関数 fetch_row($query)
{
mysql_fetch_row($query) を返します;
}
//============================================
// 前の mysql 操作の影響を受けたレコード行数を取得します
//============================================
パブリック関数affected_rows()
{
mysql_affected_rows() を返します;
}
パブリック関数 num_fields($query)
{
mysql_num_fields($query) を返します;
}
パブリック関数 num_rows($query)
{
@mysql_num_rows($query) を返します;
}
パブリック関数 insert_id()
{
mysql_insert_id() を返します;
}
パブリック関数close()
{
mysql_close();
を返します
}
//============================================
// レコードから結果を取得します
//============================================
パブリック関数 getone($sql)
{
$res = $this->query($sql);
if($res!==false)
{
$row = mysql_fetch_row($res);
if($row!==false)
{
$row を返します;
}
それ以外
{
戻ります '';
}
}
それ以外
{
false を返します;
}
}
//============================================
// レコードからすべての結果を取得します
//============================================
パブリック関数 getall($sql)
{
$res = $this->query($sql);
if($res!==false)
{
$arr = array();
while($row = mysql_fetch_assoc($res))
{
$arr[] = $row;
}
$arr;
を返します
}
それ以外
{
false を返します;
}
}
//============================================
// エラープロンプト関数
//============================================
パブリック関数 show_error($msg='',$sql=false)
{
$err = '['.mysql_errno().']'.mysql_error();
if($sql) $sql='sql ステートメント:'.$this->sql;
if($msg=='')
{
エコー $err;
echo "";
}
elseif($sql &&$msg)
{
エコー $msg;
echo "";
エコー $sql;
}
それ以外
{
エコー $msg;
echo "";
}
}
}