直接上代码吧,有时间在维护下

class DB {
private $host; //主机
private $username; //用户名
private $password; //密码
private $dbName; //数据库名称
private $port; //数据库端口
private $socket; //套接字
private $mysqli; //mysqli对象
private $charset; //字符集
private $lastSql; //最后执行的sql

public function __construct($array=[])
{
$this->charset = isset($array['charset']) ? $array['charset'] : 'utf8';
$this->connect($array);
$this->mysqlConnect();
}

public function connect($array=[])
{
$this->host = isset($array['host']) ? $array['host'] : '127.0.0.1';
$this->username = isset($array['username']) ? $array['username'] : 'root';
$this->password = isset($array['password']) ? $array['password'] : 'root';
$this->dbName = isset($array['dbName']) ? $array['dbName'] : '';
$this->port = isset($array['port']) ? $array['port'] : 3306;
$this->socket = isset($array['socket']) ? $array['socket'] : '';
}

private function mysqlConnect()
{
$this->mysqli = new mysqli($this->host,$this->username,$this->password,$this->dbName,$this->port);
}


public function query($sql)
{
$this->lastSql = $sql;
$result = $this->mysqli->query($this->lastSql);
if($result === false) {
$this->error();
}
return $result;
}

public function Charset($charset='')
{
$this->charset = $charset ? $charset: $this->charset;

$this->execute("set names {$this->charset}");
}


public function execute($sql)
{
$this->query($sql);
return true;

}

public function select($sql)
{
$result = $this->query($sql);
return $result->fetch_all(MYSQLI_ASSOC);

}

public function getLastSql()
{
return $this->lastSql;
}

public function error()
{
$result = '';
if($this->mysqli->error) {
$result.= "错误提示:{$this->mysqli->error}<br />";
}

if($this->mysqli->errno) {
$result.= "错误代号:{$this->mysqli->errno}<br />";
}
if(!empty($result)){
$result.="错误的sql语句:{$this->lastSql}";
}

if(!empty($result)) {
exit($result);
} else {
exit('没有错误');
}
}

}


本地试试:

$db = new DB(['dbName'=>'test']);

var_dump($db->select('select * from test limit 0,5'));

var_dump($db->select('select name,time from test where id in(1,5)'));

echo $db->getLastSql();

运行结果如图所示:



更多相关文章

  1. 如何用sql语言只获得数据库当前日期,且格式为"yyyy-mm-dd"?
  2. python数据存储系列教程——python中mysql数据库操作:连接、增删
  3. PostgreSQL无法加载库未知错误14001
  4. 优惠券使用限制的数据库设计
  5. mysql数据库的主从同步过程详述
  6. mysql 数据库备份和还原 实践
  7. 工作日记(连接SQL Sever 2005服务器数据库)
  8. docker应用-6(mysql+mycat 搭建数据库集群)
  9. mysql数据库基本操作指南

随机推荐

  1. Android开发之一些问题的解决办法
  2. android实现进程注入
  3. 适用于 AIDE - Android Java IDE 的幸运
  4. Android向服务器传接和接收数据的方法汇
  5. RelativeLayout 属性
  6. Android开发资源完全汇总(转MatthewChen
  7. Handler机制情景分析
  8. use '@foo' to launch a virtual device
  9. android 双向滑动 稍加改进,可做成QQHD效
  10. Android Studio 下载安装教程