PHP封装mysqli基于面向对象的mysql数据库操作类与用法示例


Posted in PHP onFebruary 25, 2019

本文实例讲述了PHP封装mysqli基于面向对象的mysql数据库操作与用法。分享给大家供大家参考,具体如下:

首先封装好mysql类

mysql.php

<?php
class Mysql{
     private static $host="localhost";
     private static $user="root";
     private static $password="123456";
     private static $dbName="test";           //数据库名
     private static $charset="utf8";          //字符编码
     private static $port="3306";            //端口号
     private $conn=null;
     function __construct(){
       $this->conn=new mysqli(self::$host,self::$user,self::$password,self::$dbName,self::$port);
       if(!$this->conn)
       {
          die("数据库连接失败!".$this->conn->connect_error);
       }else{
         echo "连接成功!";
       }
       $this->conn->query("set names ".self::$charset);
     }
     //执行sql语句
     function sql($sql){
       $res=$this->conn->query($sql);
     if(!$res)
       {
          echo "数据操作失败";
       }
       else
       {
          if($this->conn->affected_rows>0)
          {
             return $res;
          }
          else
          {
            echo "0行数据受影响!";
          }
       }
     }
     //返回受影响数据行数
     function getResultNum($sql){
      $res=$this->conn->query($sql);
      return mysqli_num_rows($res);
      }
     //关闭数据库
     public function close()
     {
       @mysqli_close($this->conn);
     }
}
?>

然后就可以调用了

index.php

<?php
require_once "mysql.php";
$conn=new Mysql();
$sql="select * from user";
//执行查询并获取查询结果
$result=$conn->sql($sql);
//输出受影响数据行数
$num=$conn->getResultNum($sql);
echo "影响的行数:".$num;
//读取并输出记录
while ($row = mysqli_fetch_assoc($result))
{
  echo "{$row['name']} ";
  echo "{$row['password']}";
}
//关闭数据库
$conn->close();

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
PHP调用三种数据库的方法(1)
Oct 09 PHP
PHP新手上路(九)
Oct 09 PHP
做了CDN获取用户真实IP的函数代码(PHP与Asp设置方式)
Apr 13 PHP
linux环境apache多端口配置虚拟主机的方法深入介绍
Jun 09 PHP
php生成excel列名超过26列大于Z时的解决方法
Dec 29 PHP
Yii中表单用法实例详解
Jan 05 PHP
PHP实现导出带样式的Excel
Aug 28 PHP
PHP魔术方法之__call与__callStatic使用方法
Jul 23 PHP
Laravel中七个非常有用但很少人知道的Carbon方法
Sep 21 PHP
php使用curl获取header检测开启GZip压缩的方法
Aug 15 PHP
Yii框架常见缓存应用实例小结
Sep 09 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
Mar 29 PHP
Laravel核心解读之异常处理的实践过程
Feb 24 #PHP
PHP通过GD库实现验证码功能示例
Feb 23 #PHP
php中file_get_contents()函数用法实例
Feb 21 #PHP
PHP基于mcript扩展实现对称加密功能示例
Feb 21 #PHP
PHP+jQuery实现双击修改table表格功能示例
Feb 21 #PHP
PHP+jQuery实现即点即改功能示例
Feb 21 #PHP
PHP hebrev()函数用法讲解
Feb 21 #PHP
You might like
phpmyadmin 3.4 空密码登录的实现方法
2010/05/29 PHP
一个基于PDO的数据库操作类(新) 一个PDO事务实例
2011/07/03 PHP
PHP取整数函数常用的四种方法小结
2012/07/05 PHP
php多种形式发送邮件(mail qmail邮件系统 phpmailer类)
2014/01/22 PHP
使用php从身份证号中获取一系列线索(星座、生肖、生日等)
2016/05/11 PHP
PHP实现可添加水印与生成缩略图的图片处理工具类
2018/01/16 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
2018/02/08 PHP
js本身的局限性 别让javascript做太多事
2010/03/23 Javascript
node.js不得不说的12点内容
2014/07/14 Javascript
JavaScript的作用域和块级作用域概念理解
2014/09/21 Javascript
分享一则javascript 调试技巧
2015/01/02 Javascript
AngularJS入门教程之过滤器用法示例
2016/11/02 Javascript
JS简单获取当前日期时间的方法(如:2017-03-29 11:41:10 星期四)
2017/03/29 Javascript
关于javascript作用域的常见面试题分享
2017/06/18 Javascript
原生js实现密码输入框值的显示隐藏
2017/07/17 Javascript
使用Vue-Router 2实现路由功能实例详解
2017/11/14 Javascript
jQuery.extend 与 jQuery.fn.extend的用法及区别实例分析
2018/07/25 jQuery
Python实现抓取城市的PM2.5浓度和排名
2015/03/19 Python
Python中标准模块importlib详解
2017/04/16 Python
Python实现的矩阵类实例
2017/08/22 Python
python遍历序列enumerate函数浅析
2017/10/17 Python
python3调用R的示例代码
2018/02/23 Python
Python发送http请求解析返回json的实例
2018/03/26 Python
python 匹配url中是否存在IP地址的方法
2018/06/04 Python
Python爬虫框架scrapy实现downloader_middleware设置proxy代理功能示例
2018/08/04 Python
通过实例解析python描述符原理作用
2020/01/22 Python
使用css3匹配手机屏幕横竖状态
2014/01/27 HTML / CSS
利用CSS3实现的文字定时向上滚动
2016/08/29 HTML / CSS
CSS3 实现footer 固定在底部(无论页面多高始终在底部)
2019/10/15 HTML / CSS
九州传奇上机题
2014/07/10 面试题
力学专业毕业生自荐信
2013/11/17 职场文书
幼儿园亲子活动方案
2014/01/29 职场文书
中学教师培训制度
2014/01/31 职场文书
党的群众路线对照检查材料范文
2014/09/24 职场文书
解决Mysql的left join无效及使用的注意事项说明
2021/07/01 MySQL
改造DE1103三步曲
2022/04/07 无线电