php 求一个mysqli的db类注释尽可能的多,初学小白
发布网友
发布时间:2022-04-08 03:22
我来回答
共1个回答
热心网友
时间:2022-04-08 04:52
mysqli一个最简单的例子,要深入封装的话可以自己再增加...
其实个人觉得mysqli已经没什麼必要封装了.....
<?php
class db{//类名
public $con;//定义句柄
public $result;//结果存取
public function __construct($Host,$User,$Pass,$DB){//构建函数
$this->con = new mysqli($Host,$User,$Pass,$DB);//调用mysqli类
if($this->con->connect_error){//判断是否有错误,有错误则返回连接错误代号和错误内容
return array($this->con->connect_errno,$this->con->connect_error);
}
}
public function query($sql,$type=''){//执行查询,$sql为查询语句,$type为result mode [MYSQLI_USE_RESULT ] OR [MYSQLI_STORE_RESULT ] 执行成功返回true,否则返回false
$this->result = empty($type) ? $this->con->query($sql) : $this->con->query($sql,$type);
return !$this->result ? false : true;
}
public function insertid(){//必须先进行query才能获得插入或更新的id
return $this->con->insert_id;
}
public function fetch($n,$t){//获取结果集,$n必选[array][assoc][field_direct][field][fields][object][row][all],$t为$n对应的可选参数,成功返回结果集
$f = 'fetch_'.$n;
return $this->result->$f($t);
}
public function __destruct(){//销毁函数
if($this->result)$this->result->close();
if($this->con)$this->con->close();
}
public function GetError(){//获取错误
return array($this->con->errno,$this->con->error);
}
}
$db = new db('127.0.0.1','','','test');
if(!$db->query("insert into tb (`time`,`amount`)values('1420085532','300')")){
var_mp($db->GetError());
die();
}
echo $db->insertid(),PHP_EOL;
$db->query('select * from tb');
while($arr = $db->fetch('array',MYSQLI_NUM)){
echo $arr['0'],' ',$arr['1'],' ',$arr['2'],' ',PHP_EOL;
}