+ -
当前位置:首页 → 问答吧 → 解释一个数据库存分类

解释一个数据库存分类

时间:2009-12-24

来源:互联网

  private $db_host; //数据库主机
 private $db_user; //数据库用户名
 private $db_pwd; //数据库用户名密码
 private $db_database; //数据库名
 private $conn; //数据库连接标识;
 private $coding; //数据库编码,GBK,UTF8,gb2312
public function __construct($db_host, $db_user, $db_pwd, $db_database, $conn, $coding) {
  $this->db_host = $db_host;
  $this->db_user = $db_user;
  $this->db_pwd = $db_pwd;
  $this->db_database = $db_database;
  $this->conn = $conn;
  $this->coding = $coding;
  $this->connect();
 }
 /*数据库连接*/
 public function connect() {
  if ($this->conn == "pconn") {
   //永久链接
   $this->conn = mysql_pconnect($this->db_host, $this->db_user, $this->db_pwd);
  } else {
   //即使链接
   $this->conn = mysql_connect($this->db_host, $this->db_user, $this->db_pwd);
  }
  if (!mysql_select_db($this->db_database, $this->conn)) {
   if ($this->show_error) {
    $this->show_error("数据库不可用:", $this->db_database);
   }
  }
  mysql_query("SET NAMES $this->coding");
 }

$db = new action($mydbhost, $mydbuser, $mydbpw, $mydbname, ALL_PS, $mydbcharset);

这是MYSQL分类,我不明白永久联接if ($this->conn == "pconn") 这条语句是什么时意思呀,CONN为数据库连接标识;初始化时给了赋了一个值ALL_PS,这个ALL_PS是什么呀,是自定义变量,但是我没有查文件中看到ALL_PS有什么值赋给他,请高手回答一下,
还有就是永久连接和即使连接有什么区别呀?????


谢谢各位的回答,今天是平安夜,祝大家平安夜快乐!







[ 此帖被zhaohui8445在2009-12-24 17:08重新编辑 ]

作者: zhaohui8445   发布时间: 2009-12-24

ALL_PS 应该是定义的全局变量,ALL_PS=‘pconn’ 表示持久化链接,如果不是表示即时链接

mysql_pconnect() 和 mysql_connect() 非常相似,但有两个主要区别。

首先,当连接的时候本函数将先尝试寻找一个在同一个主机上用同样的用户名和密码已经打开的(持久)连接,如果找到,则返回此连接标识而不打开新连接。

其次,当脚本执行完毕后到 SQL 服务器的连接不会被关闭,此连接将保持打开以备以后使用(mysql_close() 不会关闭由 mysql_pconnect() 建立的连接)。

作者: syuanq   发布时间: 2009-12-24

解释的不错

作者: jxpxzjw   发布时间: 2009-12-24

对于多用户的系统最好不要用mysql_pconnect,mysql有最大的连接数限制

作者: syuanq   发布时间: 2009-12-24