> php教程 > php手册 > php写的数据库管理的小类(待升级)

php写的数据库管理的小类(待升级)

WBOY
풀어 주다: 2016-06-21 09:07:22
원래의
1214명이 탐색했습니다.

数据|数据库

require_once('db_config.php');//为了安全考虑放在另一个文件中.

class DBManager
{
 private static $conn;

 public static function getConnection()
 {
  if(self::$conn===NULL)
  {
   $newConn=@new mysqli(hostname,username,password,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;
 }
};

?>
/*
这是数据库管理的类,定义这个类的主要作用是做连接数据库时的一些额外工作,在这个类中,每次连接数据库时都查看一下数据库是否已经连接,这样就能保证永远只有一个数据库连接,从而节省了资源。而使用者也不用考虑以前是否已经存在这个连接,只要用到数据库连接,而且在不确定之前是否有连接的情况下,我都可以通过$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);


*/
?>



관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿