<?php
header("content-type:text/html;charset=utf-8");
error_reporting(E_ALL); /*
连接数据库---类被实例化的自动连接
获取提示信息的方法
查询的方法
单条查询
多条查询
增删改的方法
统计记录数的方法
关闭数据库、销毁资源----程序结束的时候调用
*/
class dbManage{
private $conn; #保存数据库连接
public $mess; #保存提示信息
/*
方法名:__construct 构造方法
方法功能: 类实例化的同时连接数据库
方法参数:$hostname 主机地址
$username 数据库用户名
$password 数据库密码
$dbname 数据库名称 */
public function __construct($hostname,$username,$password,$dbname){
$this->conn=mysqli_connect($hostname,$username,$password,$dbname); #连接数据库
//判断数据库是否正确连接
if($this->conn){
$this->getMessage('连接成功',true);
$res=mysqli_query($this->conn,"set names utf8");
//判断编码是否正确设置
if($res){
$this->getMessage('数据库编码设置为utf8',true);
}else{
$this->getMessage(mysqli_errno($this->conn).":".mysqli_error($this->conn),false);
}
}else{
$this->getMessage('连接失败',false);
}
}
/*
方法名:getMessage
方法功能: 改造提示信息
方法参数:$info 提示信息
$flag true表示正确信息绿色文字 false 表示失败信息红色文字
*/
public function getMessage($info,$flag){
if($flag){ $this->mess.="<div style='color:green;'>".$info."</div>";
}else{
$this->mess.="<div style='color:red;'>".$info."</div>";
}
}
/*
方法名: getMoreData
方法功能: 获取多条记录
方法参数:$sql sql语句
*/
public function getMoreData($sql){
$rreg=preg_match('/^select/',trim($sql));#验证$sql是否为查询语句 if($rreg){
$data=mysqli_query($this->conn,$sql);
//判断mysqli_query是否执行成功
if($data){
//将资源类型的数据$data改变成数组
while($arr=mysqli_fetch_array($data,MYSQL_ASSOC)){
$res[]=$arr;
}
return $res; #将执行成功结果返回
}else{
$this->getMessage(mysqli_errno($this->conn).":".mysqli_error($this->conn),false);
}
}else{
$this->getMessage(__FUNCTION__.'()只能用于查询多条记录',false);
} }
/*
方法名: getOneData
方法功能: 获取单条记录
方法参数:$sql sql语句
*/
public function getOneData($sql){
$rreg=preg_match('/^select/',trim($sql));
if($rreg){
$data=mysqli_query($this->conn,$sql);
if($data){
$arr=mysqli_fetch_array($data,MYSQL_ASSOC);
return $arr;
}else{
$this->getMessage(mysqli_errno($this->conn).":".mysqli_error($this->conn),false);
}
}else{
$this->getMessage(__FUNCTION__.'()只能用于查询单条记录',false);
} }
/*
方法名: execSql
方法功能: 用于执行insert|update|delete|drop语句
方法参数:$sql sql语句
*/
public function execSql($sql){
$rreg=preg_match('/^insert|delete|update|drop/',trim($sql));
if($rreg){
$data=mysqli_query($this->conn,$sql);
if($data){
$this->getMessage($sql.'语句执行成功',true);
return true;
}else{
$this->getMessage(mysqli_errno($this->conn).":".mysqli_error($this->conn),false);
return false;
}
}else{
$this->getMessage(__FUNCTION__.'()只能用于执行insert|update|delete|drop语句',false);
return false;
}
}
/*
方法名: getRows
方法功能: 获取满足条件的记录数
方法参数:$tablename 表名称
$tj 条件,默认为1,1表示统计整张表的记录数
*/
public function getRows($tablename,$tj=1){
// select count(*) from student where cj>80;
$sql="select count(*) as c from ".$tablename." where ".$tj;
$data=mysqli_query($this->conn,$sql);
if($data){
$arr=mysqli_fetch_array($data,MYSQL_ASSOC);
// print_r($arr['c']);
return $arr['c'];
}else{
$this->getMessage(mysql_errno($this->conn).":".mysqli_error($this->conn),false);
}
}
/*
方法名: __destruct 析构方法
方法功能:销毁资源,关闭数据库 程序结束自动调用
方法参数:无
*/
public function __destruct(){
mysqli_close($this->conn); #关闭数据库
unset($this->mess);#销毁mess
}
} ?>

php连接mySql数据库 示例的更多相关文章

  1. JDBC连接MySQL数据库及示例

      JDBC是Sun公司制定的一个可以用Java语言连接数据库的技术. 一.JDBC基础知识         JDBC(Java Data Base Connectivity,java数据库连接)是一 ...

  2. .NET连接MySql数据库的方法及示例

    方法一: 使用MySQL推出的MySQL Connector/Net组件, 该组件是MySQL为ADO.NET访问MySQL数据库设计的.NET专用访问组件.完成该组件后,需要在项目中引用这个组件,也 ...

  3. 一个非常标准的连接Mysql数据库的示例代码

    一.About Mysql 1.Mysql 优点 体积小.速度快.开放源码.免费 一般中小型网站的开发都选择 MySQL ,最流行的关系型数据库 LAMP / LNMP Linux作为操作系统 Apa ...

  4. .NET 5/.NET Core使用EF Core 5连接MySQL数据库写入/读取数据示例教程

    本文首发于<.NET 5/.NET Core使用EF Core 5(Entity Framework Core)连接MySQL数据库写入/读取数据示例教程> 前言 在.NET Core/. ...

  5. JSP连接MySQL数据库问题

    之前写了一大段,还说了一下具体JDBC连接数据库API的具体包的基本知识,哪知道自己手残不小心按了删除按钮.结果去看自动保存记录时,就只剩下下面这段了.好吧,其实最主要最核心的也就是下面这点了.具体如 ...

  6. c/c++连接mysql数据库

    环境:win7 x64.vs2008.mysql 对于已经安装mysql的,查看mysql安装目录,如果安装目录下没有include和lib目录, 说明没有完全安装,需要下载mysql-connect ...

  7. python3.4怎么连接mysql pymysql连接mysql数据库

    本文介绍了python3 4连接mysql数据库的方法,在python3 4中使用原来python2 7的mysqldb已不能连接mysql数据库了,可以使用pymysql.   在python3.4 ...

  8. ASP 连接 MySQL 数据库两种方法

    一般都是用myodbc来连接.首先,在系统中安装 Mysql 的ODBC数据库驱动.如安装稳定版本是3.51.下载地址是:http://dev.mysql.com/downloads/connecto ...

  9. Java连接MySQL数据库及简单操作代码

    1.Java连接MySQL数据库 Java连接MySql需要下载JDBC驱动MySQL-connector-java-5.0.5.zip(举例,现有新版本).然后将其解压缩到任一目录.我是解压到D盘, ...

随机推荐

  1. linux下大文件查询具体段内容

    有时候我们的文件比较大,比如几十G,甚至上百G.这么大的文件怎么查询呢? 有很多种方法都可以实现,这儿选择用 cat 这个命令实现. 先来看看 cat 的介绍 cat 有个对应的命令 tac,cat反 ...

  2. SBT与Play配置文件

    1. 配置文件类JSON格式,符合SCALA语法规范2. :=是最常用的方法,其作用就是将key设置成expression的值,相同的key如果被多次赋值,则后面的值会覆盖掉前面的值.适用于简单类型的 ...

  3. AVR单片机教程——串口发送

    本文隶属于AVR单片机教程系列.   到目前为止,我们的开发板只能处理很小量的数据:读取几个引脚电平,输出几个LED,顶多用数码管显示一个两位数字.至于输入一个指令.输出一条调试信息,甚至用scanf ...

  4. 【WPF学习】第十三章 理解路由事件

    每个.NET开发人员都熟悉“事件”的思想——当有意义的事情发生时,由对象(如WPF元素)发送的用于通知代码的消息.WPF通过事件路由(event routing)的概念增强了.NET事件模型.事件路由 ...

  5. 微服务的多数据源配置: step 1

    spring boot + mybatis: 实现的功能点: 多数据源 jdbc: spring.datasource.test1.url = jdbc:mysql://localhost:3306/ ...

  6. # 团队项目-Beta冲刺2(七个小矮人)

    团队项目-Beta冲刺2(七个小矮人) 一.格式描述 这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/GeographicInformationScien ...

  7. 改进Zhang Suen细化算法的C#实现

    本文主要实现了改进Zhang Suen细化算法的C#实现,相关论文 :“牟少敏,杜海洋,苏平,查绪恒,陈光艺.一种改进的快速并行细化算法[J].微电子学与计算机,2013,(第1期)” .这篇论文中关 ...

  8. python文件夹中文件读取踩坑

    Q: 进行数据集图片预处理时,初始命名如下图(Fig1左),发现读取文件时,读取的结构并非如所设想的那样顺序读取 Fig 1 A: pyhton读取文件的时候,按照文件名的ascii码中的顺序进行逐位 ...

  9. ios--->ios消息机制(NSNotification 和 NSNotificationCenter)

    问题的背景 IOS中委托模式和消息机制基本上开发中用到的比较多,一般最开始页面传值通过委托实现的比较多,类之间的传值用到的比较多,不过委托相对来说只能是一对一,比如说页面A跳转到页面B,页面的B的值改 ...

  10. SSH免密登录设置步骤

    1.配置公钥:执行ssh-keygen即可生成SSH钥匙,一路回车即可 ssh-keygen 2.上传公钥到服务器:执行 ssh-copy-id -p port user@remote,可以让远程服务 ...