ホームページ  >  記事  >  php教程  >  PHP で書かれたデータベース管理用の小さなクラス (アップグレード予定)

PHP で書かれたデータベース管理用の小さなクラス (アップグレード予定)

WBOY
WBOYオリジナル
2016-06-21 09:07:221184ブラウズ

データ|データベース

require_once('db_config.php');//セキュリティ上の理由から別のファイルに配置します。

class DBManager
{
private static $conn;

public static function getConnection()
{
if (self::$conn===NULL)
{
$newConn=@new mysqli(ホスト名,ユーザー名,パスワード,dbname);
if(mysqli_connect_errno()!==0)
{
$msg=mysqli_connect_error( ) ;
throw new DatabaseErrorException($msg);
}
@$newConn->query("set names 'utf8'");
self::$conn=$newConn;
}
return self::$conn ;
}
};

?>
/*
このクラスを定義する主な目的は、このクラスでデータベースに接続するときに追加の作業を実行することです。 time データベースに接続するときに、データベースがすでに接続されているかどうかを確認します。これにより、データベース接続が常に 1 つだけになるため、リソースが節約されます。データベース接続が使用されている限り、ユーザーは接続が以前に存在したかどうかを考慮する必要がなく、以前に接続があったかどうか不明な場合は、$conn=DBManager::getConnection() を通じて接続を取得できます。 )。さらに、このクラスは、query('set names 'utf-8') というジョブも実行します。これは、このクエリと書き込みで utf-8 文字セットを使用することをデータベースに伝えますが、これも必要です。
以下は使用例です:


require_once("db_manager.php");

$conn=DBManager::getConnection();

$result=@$conn->query("select * from stuinfo " );
if(mysqli_connect_errno())
echo mysqli_connect_error();

$rowNum=$result->num_rows;
echo "$rowNum=$rowNum";
echo '
';

//再度呼び出しますが、最後の接続が返されます。
$conn=DBManager::getConnection();
var_dump($conn);


*/
?>



声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。