이 기사에서는 PHP로 작성된 MYSQL 작업 클래스를 공유합니다. 관심 있는 친구들은 한 번 살펴보세요
추천 관련 mysql 비디오 튜토리얼: "mysql 튜토리얼"
여기에 기록을 남겨두세요
에 대한 몇 가지 지식 포인트 PHP 클래스
self::$정적 속성 이름
$this->일반 속성 이름 또는 메소드 이름
싱글톤 클래스의 네 가지 핵심 사항
1 객체 생성 금지---new() 금지 private __construct( ){} 비공개 빈 정의
2 개체 복제 금지 -- clone private __clone(){} 비공개 빈 정의
3 싱글톤 개체 속성 정의 private static $object 이름 비공개 정적 빈 정의
4 정의 항목 메서드 공개 정적 함수 메서드 이름() 공개 정적
<?php class mysqldb { public $cs=array(//连接数组 "h"=>"127.0.0.1", "u"=>"root", "p"=>"", "db"=>"mysql", "pt"=>3306 ); public $arr;//取回的结果集存放在此数组中 private static $con;//连接资源 private static $result;//结果资源 //连接方法 public function connect() { self::$con=@mysqli_connect($this->cs[h],$this->cs[u],$this->cs[p],$this->cs[db],$this->cs[pt]); if ( !self::$con ) { die( '<br>连接错误 ('.mysqli_connect_errno().') '.mysqli_connect_error()); } } //SQL命令执行方法 public function query($sql) { if(!self::$result=@mysqli_query(self::$con,$sql))//执行SQL命令 { if(@mysqli_errno())//执行错误编号判断 {//有错误编号 echo "<br>*****************************"; echo "<br />执行失败!!!"; echo "<br>所执行的SQL命令:$sql"; echo "<br />错误号:(".mysqli_errno().")"; echo "<br />错误信息:".mysqli_error(); echo "<br>*****************************"; mysqli_free_result ( $this->result );//释放结果资源 } else {//没有错误编号 echo "<br>所执行的SQL命令:$sql"; echo "<br>".$this->cs['db']."数据库中不存在此表"; } mysqli_close ( $this->con );//关闭连接资源 die(); } } //设置字符集 set names utf8 public function charset($charset="utf8") { $a="set names ".$charset; $this->query($a); } //打开/选择数据库:USE public function selectdb($dbname="") { if($dbname=="") { $dbname=$this->cs['db']; } $a="use ".$dbname; $this->query($a); } //执行前的准备 连接 设置连接字符 打开数据库 public function queryfun() { if(!self::$con)//如果连接资源为NULL { $this->connect(); } else { echo "<br>已经建立连接,不必再建立"; } $this->charset();//设置字符 $this->selectdb();//打开数据库 } //执行SQL命令,并将远程结果集存放在本地数组$this->arr. public function queryarr($sql) { $this->queryfun();//执行前准备 $this->query($sql);//执行命令 if(self::$result)//如果有执行结果集就取出存为本地数组 { $this->arr=mysqli_fetch_all(self::$result,MYSQLI_ASSOC);//取得所有,字段名下标的数组 mysqli_free_result (self::$result);//释放数据库服务器的结果资源 } mysqli_close (self::$con);//断开数据库服务器的连接 self::$result=null;//复位 self::$con=null;//复位 } public function tab($arr) { echo "<table border='1'>"; foreach($arr as $k1=>$v1) { //********************** //表头 if($k1==0) { echo "<tr>"; foreach($v1 as $k2=>$v2) { echo "<th>"; echo $k2; echo "</th>"; } echo "</tr>"; } //********************** //内容 echo "<tr>"; foreach($v1 as $k2=>$v2) { echo "<td>"; echo $v2; echo "</td>"; } echo "</tr>"; } echo "</table>"; } public function querytab($sql) { $this->queryfun();//执行前准备 $this->query($sql);//执行命令 if(self::$result)//如果有执行结果集就取出存为本地数组 { $this->arr=mysqli_fetch_all(self::$result,MYSQLI_ASSOC);//取得所有带下标的数组 mysqli_free_result (self::$result);//释放数据库服务器的结果资源 mysqli_close (self::$con);//断开数据库服务器的连接 self::$result=null;//复位 self::$con=null;//复位 //return $arr; echo "<table border='1'>"; foreach($this->arr as $k1=>$v1) { //********************** //表头 if($k1==0) { echo "<tr>"; foreach($v1 as $k2=>$v2) { echo "<th>"; echo $k2; echo "</th>"; } echo "</tr>"; } //********************** //内容 echo "<tr>"; foreach($v1 as $k2=>$v2) { echo "<td>"; echo $v2; echo "</td>"; } echo "</tr>"; } echo "</table>"; return true; } mysqli_close(self::$con);//断开数据库服务器的连接 self::$result=null;//复位 self::$con=null;//复位 return false; } //********************************* //***单例化 //private private function __construct(){}//令new()新对象失效 private function __clone(){}//令克隆对象失效. private static $db;//单例对像属性 public static function getdb()//单例对象入口 { if(!isset(self::$db)) { self::$db=new self(); } return self::$db; } } //****************************** //**********调用例子************ //****************************** /* $k=mysqldb::getdb(); $k->cs=array( "h"=>"127.0.0.1", "u"=>"root", "p"=>"", "db"=>"mysql", "pt"=>3306 ); $k->queryarr("select * from user;"); $k->tab($k->arr); echo "<hr />"; $k->querytab("select * from user;"); */ ?>
위 내용은 PHP로 작성된 MYSQL 작업 클래스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!