mysql 自己写数据库,自己写了一个简单的mysql数据库连接类
直接上代码吧,有时间在维护下
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数据库连接类相关推荐
- 如何做一个mysql数据库_如何创建一个简单的mysql数据库
这篇文章主要介绍了操作MySQL日志的一些方法,对日志的删除操作做了重点讲解,需要的朋友可以参考下. 一.创建数据库 注:已经安装好mysql. windows下运行cmd进入命令窗口,本人用的是wi ...
- mysql建立数据浏览器_一个简单的MySQL数据浏览器
一个简单的MySQL数据浏览器 2021-01-21 16:17:28679 这个程序可以用来浏览MySQL中的数据,您可以稍做修改就可以做出很不错的MySQL浏览器. */ /* ?cmd=db ? ...
- mysql浏览器_一个简单的MySQL数据浏览器
一个简单的MySQL数据浏览器 更新时间:2006年10月09日 00:00:00 作者: 这个程序可以用来浏览MySQL中的数据,您可以稍做修改就可以做出很不错的MySQL浏览器. */ /* ...
- mysql建立数据浏览器_一个简单的MySQL数据浏览器_php
这个程序可以用来浏览mysql中的数据,您可以稍做修改就可以做出很不错的MySQL浏览器. */ /* ?cmd=db ?cmd=table&db={} http://www.gaodaima ...
- 用java设计实现一个简单的动作冒险类游戏
用java设计实现一个简单的动作冒险类游戏 1.背景 这是java老师布置的本周作业,具体题目截图如下 2.分析 在UML图已经给出的前提下,此作业很容易.自己在此基础上,加了个简单的界面设计和玩家设 ...
- java设计游戏_用java设计实现一个简单的动作冒险类游戏
用java设计实现一个简单的动作冒险类游戏 1.背景 这是java老师布置的本周作业,具体题目截图如下 2.分析 在UML图已经给出的前提下,此作业很容易.自己在此基础上,加了个简单的界面设计和玩家设 ...
- wsm-lucene 一个简单的Lucene工具类
代码地址: https://gitee.com/shaojiepeng/wsm-lucene wsm-lucene 一个简单的Lucene工具类,通过注释的方式来配置构建索引的字段.提供新建索引.查找 ...
- java动作游戏教程_用java设计实现一个简单的动作冒险类游戏
用java设计实现一个简单的动作冒险类游戏 1.背景 这是java老师布置的本周作业,具体题目截图如下 2.分析 在UML图已经给出的前提下,此作业很容易.自己在此基础上,加了个简单的界面设计和玩家设 ...
- 手写Spring-第一章-实现一个简单的Bean容器
前言 开个新坑,来整点儿大项目.有这个想法是因为用了那么久的Spring,但是某一天突然冒出来一个念头:Spring到底是怎么实现这些功能的.发现脑子一片空白.在我抽出纸巾擦干脑门儿上的汗之后,我决定 ...
- c语言写日志文件的代码,一个简单的日志系统的C代码实现
问题描述 实现一个简单的基于Windows的日志系统,要求写入日志文件的内容的样式如下: [时间]+[文件名]+[日志等级]+日志具体内容 如: [2015.02.2514:35:13.143][Wr ...
最新文章
- .net framework开发winform_这个Winform的UI库也太全了!四十多个控件都在这一个项目里了...
- 新浪短链api java_php调用新浪短链接API的方法
- mac下profile文件(转载)
- Vuex新手的理解与使用
- vs2015通过ODBC连接SQLSERVER2012
- React开发(130):ant design学习指南之form中的新城多个表单
- 【模板】最新空web.xml模板
- JAVA入门级教学之(JDK安装-JDK、JRE、JVM)
- 算法——贝叶斯公式的推导过程
- 基本BASH SHELL脚本命令——切换目录以及处理文件和目录的基本知识
- Windows游戏编程大师技巧笔记(一些基础)
- C# EF6 更新对象
- Nature:人类癌细胞系转移图谱
- 微信公众号 语音转文字api_快速上手——微信公众号开发接入
- dnf登录不了服务器未响应,win7dnf辅助登陆没反应的三种解决方法
- Android应用停用
- NVIDIA GPU 运算能力列表
- 主成分回归之后预测_回归分析之主成分回归
- 如何查看自己的淘宝号使用多久了,淘龄怎么查?
- PWM脉冲宽度调制技术控制LED亮度
热门文章
- XNA 游戏 运行时编辑器
- Javascript跨域访问解决方案
- 关于myBatis的问题There is no getter for property named 'USER_NAME' in 'class com.bky.model.实例类'...
- Spring工具类ToStringBuilder用法简介
- 解决SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT'OpenRowset/OpenDatasource' 的访问的方法...
- 使用PHP处理Kafka消息
- WPS版excel怎样核对两表数据和文本不一致之处
- PHP如何复制前端传递的json数据
- 反思找开瓶器的过程:预判选择方法的执行结果 充分主动积极的沟通
- Linux之CentOS的PHP为7.2但显示5.4版本