当前位置:编程学习 > php >>

自己写的mysql类

答案:

---------- 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
{
 #----------------------------------------------------
 # 数据库控制类 DBCLS
 # 作者:yms
 # yms541@yahoo.com.cn
 # 2005-5-30
 # 2005-5-31
 # php_v5.0.1
 # Editplus Text Editer v2.12(76)
 #----------------------------------------------------

 //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

上一个:一个对数据库进行操作的程序(之一)
下一个:在PHP中使用DBM作为数据库

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,