链式调用封装MySQL类
代码
<?php /*Created By RexLee **PHP file MySQL.php 2012-12-19 */ class MySQL { private $host; private $name; private $password; private $dbname; //数据库名 private $link; private $errlog=array(); public $errreport=true;//开启错误报告 private $runStat;//运行状态,记录当前运行的成员 private $value;//结果 public function __construct($server,$dbuser,$psw){//连接主机 $this->host=$server; $this->name=$dbuser; $this->password=$psw; $this->link=@mysql_connect($this->host,$this->name,$this->password) or die('<font color="red">ERROR: <b><em>数据库主机连接失败!<em></b></font><br/>'); $this->runStat="init";//定义为初始化 $this->fn=0; } public function to2DArray(){//构造二维数组 /////////////检测////////////////// if(!is_resource($this->value)){ array_push($this->errlog, "ERROR: <em>运行错误,在<font color=\"red\"><b>to2DArray</b></font>层调用错误的方法<em><br/>"); $this->runStat="error";//将运行状态设置为错误 return $this; } $this->runStat="to2DArray"; ///////////////////////////////////// $_2DArray=Array(); while($row=@mysql_fetch_array($this->value)){//直接取value值,此时的value应当为resource类型 $keyarr=array_keys($row); foreach ($keyarr as $key) { if (is_int($key)) { unset($row[$key]);//去掉以数组为键名的数组元素 }; } array_push($_2DArray, $row); } $this->value=$_2DArray ; return $this; } public function db($database,$charset){//连接数据库 /////////////检测////////////////// if(!is_resource($this->link)){ array_push($this->errlog, "ERROR: <em>运行错误,在<font color=\"red\"><b>db</b></font>层调用错误的方法<em><br/>"); $this->runStat="error";//将运行状态设置为错误 return $this; } $this->runStat="db"; ///////////////////////////////////// $this->dbname=$database; mysql_query("set names ".$charset);//设置字符集 $this->value=mysql_select_db($this->dbname,$this->link); if (!$this->value) { echo "<font color=\"blue\"><b>ERROR:打开数据库错误!</b></font><br/>"; $this->runStat="error"; } return $this; } public function query($sql) { /////////////检测////////////////// if(!is_string($sql)){ array_push($this->errlog,"ERROR: <em>运行错误,在<font color=\"red\"><b>query</b></font>层调用错误的方法<em><br/>"); $this->runStat="error";//将运行状态设置为错误 return $this; } $this->runStat="query"; ///////////////////////////////////// $sql=addslashes($sql);//防注入 $result=mysql_query($sql); if (!$result) { array_push($this->errlog,"ERROR: <em><b style=\"color:red;\">语句运行错误!</b></em></br>"); $this->runStat="sqlerror"; } $this->value=$result; return $this; } function value() { $this->runStat="init"; if ($this->errreport) { foreach ($this->errlog as $value) { echo $value; } } $this->errlog=array();//clean $result=$this->value; $this->value=null;//clean return $result; } public function __call($f,$v){//错误方法吸收 echo "<font color=\"red\"><b>ERROR</b></font>: 不存在".$f."()方法. <br/>"; return $this; } } $db=new MySQL("localhost", "root", "lijun"); //$db->errreport=false; $h=$db->db("students", 'utf8'); var_dump($db->db("ip", 'utf8')->to2DArray()->query("select * from ip limit 0,2")->to2DArray()->value()); var_dump($h->query("seslect * from nuser limit 10,2")->to2DArray()->value()); var_dump($db->db("ip", 'utf8')->query("SELECT * FROM ip LIMIT 0 , 2")->to2DArray()->value()); ?>
로그인 후 복사
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
2 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
스플릿 소설을이기는 데 얼마나 걸립니까?
1 몇 달 전
By DDD
R.E.P.O. 최고의 그래픽 설정
2 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
어 ass 신 크리드 그림자 : 조개 수수께끼 솔루션
1 몇 주 전
By DDD
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
2 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제
Gmail 이메일의 로그인 입구는 어디에 있나요?
7411
15


Cakephp 튜토리얼
1358
52


Steam의 계정 이름 형식은 무엇입니까?
76
11


Win11 활성화 키 영구
17
19

