ホームページ  >  記事  >  バックエンド開発  >  自分で書いた Mysql クラス_PHP チュートリアル

自分で書いた Mysql クラス_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:19:33767ブラウズ

---------- 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()) または !($dbmy->select()) //データベースへの接続またはデータベースの選択が失敗した場合
print $dbmy->debuginfo; //$dbmy->db_query_sql = "select * from user";
if($dbmy->execute()) //クエリコマンドを実行
{ db_recordset);//返された結果セットを出力します
}
?>

出力情報:

---------- php デバッグ ----------

Server=localhost;DataBase=mysql;UserID=root;PassWord=123456

resource(5) タイプ (mysql の結果)

出力完了(1秒消費) - 正常終了


http://www.bkjia.com/PHPjc/532641.html

tru​​ehttp://www.bkjia.com/PHPjc/532641.html技術記事 ---------- php デバッグ ---------- Server=localhost;DataBase=mysql;UserID=root;PassWord=123456 resource(5) タイプ (mysql 結果) 出力完了 ( 1秒消費) - 正常終了...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。