class MySQL_DB {

private $last_query;    //上一次执行的sql指令

private $conn;            //当前连接数据库服务器的资源类型

private $errno;            //错误代号

private $errDie = true;    //强制错误后结束脚本

private $errMsgArr_filename = "";//自定义错误提示信息数组的文件名

//构造函数

public function __construct($dbhost, $dbuser, $dbpwd, $dbname, $dbcharset="utf8", $pconnect=0) {

//连接数据库服务器

if($pconnect == 0) {

$this->conn = mysql_connect($dbhost, $dbuser, $dbpwd);

}else{

$this->conn = mysql_pconnect($dbhost, $dbuser, $dbpwd);

}

if($this->conn == false) {

$this->errno = mysql_errno();//记录发生的错误代号

$this->errMsg();//报错

}

//选择操作的目标数据库

$res = mysql_select_db($dbname, $this->conn);

if($res == false) {

$this->errno = mysql_errno();//记录发生的错误代号

$this->errMsg();//报错

}

//设置字符集编码

$this->query("set names " . $dbcharset);

}

//设置errDie属性的方法(预留为以后ajax做操作准备)

private function set_errDie($value){

$this->errDie = $value;

}

//查询一条记录的sql操作

public function get_one($sql) {

$res = $this->query($sql);

$row = mysql_fetch_assoc($res);

return $row;

}

//查询多条

public function get_all($sql) {

$res = $this->query($sql);

$arr = array();

while($row = mysql_fetch_assoc($res)) {

$arr[] = $row;

}

return $arr;

}

//查询一个字段的值

public function get_val($sql) {

$res = $this->query($sql);

$row = mysql_fetch_array($res);

return $row[0];

}

//统计行数

public function get_count($tbName, $addWhere="") {

$sql = "select count(*) from {$tbName} {$addWhere}";

return $this->get_val($sql);

}

//执行sql指令

public function query($sql) {

$this->last_query = $sql;//保存当前的sql指令

$res = mysql_query($sql);

if($res == false) {

$this->errno = mysql_errno();//记录发生的错误代号

if($this->errno == 1062) {

//针对唯一性索引的错误,做特殊处理

return -1062;

}else{

$this->errMsg();//报错

}

}else{

return $res;

}

}

public function get_insert_id() {

return mysql_insert_id();

}

//设置自定义错误数组文件名的方法

private function set_errMsgArr_filename($filename) {

$this->errMsgArr_filename = $filename;

}

//获得定义在单独文件中的自定义错误信息

private function get_errMsgArr() {

if(file_exists($this->errMsgArr_filename)){

require_once($this->errMsgArr_filename);

}else{

$mysql_err_msg = "";

}

return $mysql_err_msg;

}

public function errMsg() {

echo "

";

echo "Errno: " . $this->errno."
";

echo "Last Query: " . $this->last_query . "
";

//显示自定义的错误信息

$errMsgArr = $this->get_errMsgArr();

$errMsg = empty($errMsgArr) ? mysql_error() : ($errMsgArr[$this->errno] . "(" . mysql_error(). ")");

echo "Error Message: " . $errMsg;

echo "

";

if($this->errDie == true) {

exit;

}

}

}

?>

php 管理mysql数据库_php管理mysql数据库类相关推荐

  1. 使用php连接mysql数据库_PHP使用mysql与mysqli连接Mysql数据库用法示例

    本文实例讲述了PHP使用mysql与mysqli连接Mysql数据库的方法.分享给大家供大家参考,具体如下: 代码很简单直接上了 /** * @Author: HTL * @Description: ...

  2. mysql 9.0创建数据库_PHP与MySQL学习笔记9:创建Web数据库

    1.在服务器上部署MySQL服务基本步骤合注意点 1)安装MySQL(命令安装.安装包安装等) 2)考虑是否需要一个独立的操作系统用户权限来运行MySQL程序. 3)路径的设置 4)root密码 (附 ...

  3. php如何删除数据mysql数据库_php如何删除数据库

    php如何删除数据库 1.首先查看有哪些数据库 2.使用php删除test2<?php $dbhost = 'localhost'; // mysql服务器主机地址 $dbuser = 'roo ...

  4. php和mysql一起_PHP和MYSQL数据库合理且有效的结合在一起_MySQL

    将PHP和MYSQL合理且有效的结合在一起可以制作出精致的数据库网站.MYSQL是一种小型的,紧密的数据服务器,支持标准SQL.它在UNIX和WINDOWS环境下都能够使用. PHP和MYSQL都是免 ...

  5. php 复制mysql数据库_PHP连接MySQL数据库的三种方式

    本篇文章给大家介绍一下PHP连接MySQL数据库的三种方式(mysql.mysqli.pdo),结合实例形式分析了PHP基于mysql.mysqli.pdo三种方式连接MySQL数据库的相关操作技巧与 ...

  6. php与mysql同步_php实现mysql同步的实现方法

    拿到需求之后,发现这两个网站的MYSQL数据库都不能远程访问(安全第一吧).于是想起了 平时使用的CSV文件批量录入数据.于是 尝试使用CSV导入导出. 导入到处框架如下: 1首先将数据导出成CSV的 ...

  7. php.ini mysql扩展_PHP安装mysql.so扩展及相关PHP.ini 配置参数说明

    在PHP中mysql_connect模块已经逐渐被弃用,我在搭建环境时也没有再安装mysql扩展,但是今天在维护一个老项目时,出现报错 Fatal error: Uncaught Error: Cal ...

  8. php pdo mysql 预处理_PHP PDO mysql 处理类(prepare 预处理)

    使用预处理,动态处理需要操作的字段和值.先使用PDO来动态绑定参数.PDOModel: /** * Description of PDO * * @author Administrator */ cl ...

  9. php连接mysql地址_PHP连接mysql

    PHP 5 及以上版本建议使用以下方式连接 MySQL : MySQLi extension ("i" 意为 improved) PDO (PHP Data Objects) 在 ...

  10. 搜索的php mysql代码生成器_PHP FOR MYSQL 代码生成助手(根据Mysql里的字段自动生成类文件的)...

    根据 Mysql 里的字段 自动生成 类文件: 但需要导入: require_once ./db/ez_sql_core.php; require_once ./db/ez_sql_mysql.php ...

最新文章

  1. java if (name!=null name!=),命名不规范,lombok泪两行!
  2. 【错误记录】NDK 配置错误 ( C/C++ debug|arm64-v8a : Could not get version from cmake.dir path )
  3. 今天才发现ff不支持navigate。
  4. linux错误说未声明,如何在Linux 32位计算机上解决REG_EIP未声明(在此函数中首次使用)错误?...
  5. currenttimemillis 毫秒还是秒_Elasticsearch如何做到数十亿数据查询毫秒级响应?
  6. 阿里云云治理中心正式上线,助力企业快速云落地
  7. Yet Another Multiple Problem 同余定理 bfs
  8. 合并excel文件 C语言,再见Ctrl + C!合并100个Excel表格,只需30秒!
  9. matlab isinteger,MATLAB数据类型
  10. 新Azure 服务仪表盘!
  11. hdu 2089 数位dp入门
  12. AD域控exchange邮箱(一)——批量安装MSI安装包
  13. echarts图表使用v-show控制图表显示不全的问题
  14. 小甲鱼python学习笔记1
  15. “开闭原则”实现图书售卖简单实现
  16. 雷达波形样式_?认知雷达的架构
  17. ubuntu大小写切换键的使用
  18. Java 在Word中创建表格
  19. Mac下查看公网以及内网IP地址
  20. 网宿cdn api 刷新缓存函数

热门文章

  1. 【codevs1036】商务旅行,LCA练习
  2. 2017.8.8 loli测试
  3. 【英语学习】【Level 07】U07 Stories of my Life L3 Campus memories
  4. 【英语学习】【Daily English】U06 Shopping L04 I like everything aboutit but the price.
  5. mpython掌控板体温_用mpython x玩转掌控板——摇出好心情
  6. 绝地求生2017.7.27服务器维护,绝地求生大逃杀更新内容 7月27日更新了什么
  7. zookeeper中展示所有节点_zookeeper工作原理与节点使用
  8. python种颜色循环_python – 重置Matplotlib中的颜色循环
  9. OpenGL ES 3.2
  10. 20050519:把机器拿到鸡兄那里去修了