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

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}

";

}

if($this->mysqli->errno) {

$result.= "错误代号:{$this->mysqli->errno}

";

}

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();

运行结果如图所示:

mysql 自己写数据库,自己写了一个简单的mysql数据库连接类相关推荐

  1. 如何做一个mysql数据库_如何创建一个简单的mysql数据库

    这篇文章主要介绍了操作MySQL日志的一些方法,对日志的删除操作做了重点讲解,需要的朋友可以参考下. 一.创建数据库 注:已经安装好mysql. windows下运行cmd进入命令窗口,本人用的是wi ...

  2. mysql建立数据浏览器_一个简单的MySQL数据浏览器

    一个简单的MySQL数据浏览器 2021-01-21 16:17:28679 这个程序可以用来浏览MySQL中的数据,您可以稍做修改就可以做出很不错的MySQL浏览器. */ /* ?cmd=db ? ...

  3. mysql浏览器_一个简单的MySQL数据浏览器

    一个简单的MySQL数据浏览器 更新时间:2006年10月09日 00:00:00   作者: 这个程序可以用来浏览MySQL中的数据,您可以稍做修改就可以做出很不错的MySQL浏览器. */ /* ...

  4. mysql建立数据浏览器_一个简单的MySQL数据浏览器_php

    这个程序可以用来浏览mysql中的数据,您可以稍做修改就可以做出很不错的MySQL浏览器. */ /* ?cmd=db ?cmd=table&db={} http://www.gaodaima ...

  5. 用java设计实现一个简单的动作冒险类游戏

    用java设计实现一个简单的动作冒险类游戏 1.背景 这是java老师布置的本周作业,具体题目截图如下 2.分析 在UML图已经给出的前提下,此作业很容易.自己在此基础上,加了个简单的界面设计和玩家设 ...

  6. java设计游戏_用java设计实现一个简单的动作冒险类游戏

    用java设计实现一个简单的动作冒险类游戏 1.背景 这是java老师布置的本周作业,具体题目截图如下 2.分析 在UML图已经给出的前提下,此作业很容易.自己在此基础上,加了个简单的界面设计和玩家设 ...

  7. wsm-lucene 一个简单的Lucene工具类

    代码地址: https://gitee.com/shaojiepeng/wsm-lucene wsm-lucene 一个简单的Lucene工具类,通过注释的方式来配置构建索引的字段.提供新建索引.查找 ...

  8. java动作游戏教程_用java设计实现一个简单的动作冒险类游戏

    用java设计实现一个简单的动作冒险类游戏 1.背景 这是java老师布置的本周作业,具体题目截图如下 2.分析 在UML图已经给出的前提下,此作业很容易.自己在此基础上,加了个简单的界面设计和玩家设 ...

  9. 手写Spring-第一章-实现一个简单的Bean容器

    前言 开个新坑,来整点儿大项目.有这个想法是因为用了那么久的Spring,但是某一天突然冒出来一个念头:Spring到底是怎么实现这些功能的.发现脑子一片空白.在我抽出纸巾擦干脑门儿上的汗之后,我决定 ...

  10. c语言写日志文件的代码,一个简单的日志系统的C代码实现

    问题描述 实现一个简单的基于Windows的日志系统,要求写入日志文件的内容的样式如下: [时间]+[文件名]+[日志等级]+日志具体内容 如: [2015.02.2514:35:13.143][Wr ...

最新文章

  1. .net framework开发winform_这个Winform的UI库也太全了!四十多个控件都在这一个项目里了...
  2. 新浪短链api java_php调用新浪短链接API的方法
  3. mac下profile文件(转载)
  4. Vuex新手的理解与使用
  5. vs2015通过ODBC连接SQLSERVER2012
  6. React开发(130):ant design学习指南之form中的新城多个表单
  7. 【模板】最新空web.xml模板
  8. JAVA入门级教学之(JDK安装-JDK、JRE、JVM)
  9. 算法——贝叶斯公式的推导过程
  10. 基本BASH SHELL脚本命令——切换目录以及处理文件和目录的基本知识
  11. Windows游戏编程大师技巧笔记(一些基础)
  12. C# EF6 更新对象
  13. Nature:人类癌细胞系转移图谱
  14. 微信公众号 语音转文字api_快速上手——微信公众号开发接入
  15. dnf登录不了服务器未响应,win7dnf辅助登陆没反应的三种解决方法
  16. Android应用停用
  17. NVIDIA GPU 运算能力列表
  18. 主成分回归之后预测_回归分析之主成分回归
  19. 如何查看自己的淘宝号使用多久了,淘龄怎么查?
  20. PWM脉冲宽度调制技术控制LED亮度

热门文章

  1. XNA 游戏 运行时编辑器
  2. Javascript跨域访问解决方案
  3. 关于myBatis的问题There is no getter for property named 'USER_NAME' in 'class com.bky.model.实例类'...
  4. Spring工具类ToStringBuilder用法简介
  5. 解决SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问的方法...
  6. 使用PHP处理Kafka消息
  7. WPS版excel怎样核对两表数据和文本不一致之处
  8. PHP如何复制前端传递的json数据
  9. 反思找开瓶器的过程:预判选择方法的执行结果 充分主动积极的沟通
  10. Linux之CentOS的PHP为7.2但显示5.4版本