> php教程 > php手册 > 自己写的mysql类

自己写的mysql类

WBOY
풀어 주다: 2016-06-13 10:20:14
원래의
1001명이 탐색했습니다.

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

Output completed (1 sec consumed) - Normal Termination

class DBCLS
{

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

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

 //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 .= "连接字符串无效! ";}
   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 .= "没有可用的数据库连接! ";}
   $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! ";}
   //return false;
  }
  if("" == $this->db_query_sql)
  {
   if($this->debug){$this->debuginfo .= "SQL is null! ";}
   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 " ";

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