学院首页>网络编程>PHP>自己写的mysql类

自己写的mysql类

作者: 来源: 添加时间:2006-5-21 19:11:50

---------- php debug ----------
Server=localhost;DataBase=mysql;UserID=root;PassWord=123456
resource(5) of type (mysql result)

Output completed (1 sec consumed) - Normal Termination

<?php
class DBCLS
{

//debug 调试开关
 var $debug = true;

//debuginfo 错误信息,调试信息
 var $debuginfo = "debug informations:\r\n";

//db_server MySQL主机地址
 var $db_server;

//db_name 数据库名
 var $db_name;

//db_user 数据库用户名
 var $db_user;

//db_passwd 密码
 var $db_passwd;

//db_links  数据库连接
 var $db_link;

//db_query_sql SQL语句
 var $db_query_sql = "show tables";

//db_recordset 结果集,记录集
 var $db_recordset;

//ready  就绪开关
 var $conntstr_ready = false;
 var $link_ready = false;
 var $db_ready = false;

//set or return Connection String  返回,或者设定连接字符串
 function connection_string($connstr="")
 {
  if("" == $connstr)
  {
//如果没有参数传入,返回已有的连接字符
return "Server=".$this->db_server.";DataBase=".$this->db_name.";UserID=".$this->db_user.";PassWord=".$this->db_passwd;
  }
  else
  {
//否则,解析连接字符,初始化变量
preg_match_all("|([a-zA-Z0-9]*)=([a-zA-Z0-9]*);*|", $connstr,   $tmparr, PREG_PATTERN_ORDER);
$this->db_server = (strtolower($tmparr[1][0]) == "server")?$tmparr[2][0]:"";
$this->db_name   = (strtolower($tmparr[1][1]) == "database")?$tmparr[2][1]:"";
$this->db_user   = (strtolower($tmparr[1][2]) == "userid")?$tmparr[2][2]:"";
$this->db_passwd = (strtolower($tmparr[1][3]) == "password")?$tmparr[2][3]:"";
//var_dump($tmparr);

if("" == $this->db_server or "" == $this->db_name or "" == $this->db_user or "" == $this->db_passwd)
 $this->conntstr_ready = false; //如果有其中一个以上变量被赋以空字符串"",准备未就绪
else
 $this->conntstr_ready = true;
return $this->conntstr_ready;
  }

}

//连接数据库,返回连接对象
 function connect()
 {
  if(!$this->conntstr_ready)
  {
if($this->debug){$this->debuginfo .= "连接字符串无效!\r\n";}
return $this->link_ready;
  }
  if($this->db_link = @mysql_connect($this->db_server, $this->db_user, $this->db_passwd))
  {
$this->link_ready = true;
return $this->link_ready;
  }
 }

//选择数据库
 function select($db = "")
 {
  if(!$this->db_link)
  {
if($this->debug){$this->debuginfo .= "没有可用的数据库连接!\r\n";}
$this->db_ready = false;
  }
  if("" == $db)
  {
if(mysql_select_db($this->db_name))
 $this->db_ready = true;
  }
  if(mysql_select_db($this->db_name = $db))
$this->db_ready = true;
  return $this->db_ready;
 }

//执行查询
 function execute($SQL = "")
 {
  if("" != $SQL)
  {
$this->db_query_sql = $SQL;
//if($this->debug){$this->debuginfo .= "SQL is null!\r\n";}
//return false;
  }
  if("" == $this->db_query_sql)
  {
if($this->debug){$this->debuginfo .= "SQL is null!\r\n";}
return false;
  }
  $this->db_recordset = mysql_query($this->db_query_sql);
  return true;
 }
}

$dbmy = new DBCLS(); //创建一个DBCLS对象
if(!$dbmy->connection_string("Server=localhost;DataBase=mysql;UserID=root;PassWord=123456"))//初始化DBCLS对象dbmy

print $dbmy->debuginfo; //初始化失败,输出错误信息

else

print $dbmy->connection_string(); //初始化成功,输出连接字符串
print "\r\n";

if(!($dbmy->connect()) or !($dbmy->select())) //如果连接数据库,或者选择数据库失败
print $dbmy->debuginfo; //输出出错信息
//$dbmy->db_query_sql = "select * from user";
if($dbmy->execute())  //执行查询指令
{   //如果不出错
 var_dump($dbmy->db_recordset);//输出返回的结果集
}
?>

输出信息:

---------- php debug ----------
Server=localhost;DataBase=mysql;UserID=root;PassWord=123456
resource(5) of type (mysql result)

Output completed (1 sec consumed) - Normal Termination

站内搜索