首页 > 开发 > PHP > 正文

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

2024-05-04 22:58:35
字体:
来源:转载
供稿:网友

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

class dbmanager
{
 private static $conn;

 public static function getconnection()
 {
  if(self::$conn===null)
  {
   $[email protected] 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;
 }
};

?>
<?php
/*
这是数据库管理的类,定义这个类的主要作用是做连接数据库时的一些额外工作,在这个类中,每次连接数据库时都查看一下数据库是否已经连接,这样就能保证永远只有一个数据库连接,从而节省了资源。而使用者也不用考虑以前是否已经存在这个连接,只要用到数据库连接,而且在不确定之前是否有连接的情况下,我都可以通过$conn=dbmanager::getconnection()获得一个连接。另外,这个类还做了一个工作,query('set names '/utf-8/'),这样告诉数据库本次查询和写入使用utf-8字符集,这也是很有必要的。
如下为一个使用范例:


require_once("db_manager.php");

$conn=dbmanager::getconnection();

$[email protected]$conn->query("select * from stuinfo");
if(mysqli_connect_errno())
 echo mysqli_connect_error();

$rownum=$result->num_rows;
echo "/$rownum=$rownum";
echo '<br />';

//再次调用,但返回的还是上一次的连接.
$conn=dbmanager::getconnection();
var_dump($conn);


*/
?>

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表