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+DBM的同学录程序(2)
Oct 09 PHP
PHP simple_html_dom.php+正则 采集文章代码
Dec 24 PHP
smarty中js的调用方法示例
Oct 27 PHP
php+ajax实时输入自动搜索匹配的方法
Dec 26 PHP
php基于session实现数据库交互的类实例
Aug 03 PHP
利用PHP如何实现Socket服务器
Sep 23 PHP
CI框架出现mysql数据库连接资源无法释放的解决方法
May 17 PHP
php实现文件上传及头像预览功能
Jan 15 PHP
Zend Framework基于Command命令行建立ZF项目的方法
Feb 18 PHP
PHP简单实现模拟登陆功能示例
Sep 15 PHP
PHP耦合设计模式实例分析
Aug 08 PHP
使用PHP反射机制来构造&quot;CREATE TABLE&quot;的sql语句
Mar 21 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
关于文本留言本的分页代码
2006/10/09 PHP
PHP操作mysql函数详解,mysql和php交互函数
2011/05/19 PHP
PHP判断文件是否存在、是否可读、目录是否存在的代码
2012/10/03 PHP
PHP session_start()问题解疑(详细介绍)
2013/07/05 PHP
php自定文件保存session的方法
2014/12/10 PHP
php实现仿写CodeIgniter的购物车类
2015/07/29 PHP
初学prototype,发个JS接受URL参数的代码
2006/09/25 Javascript
js调用webservice中的方法实现思路及代码
2013/02/25 Javascript
原生js实现类似弹窗抖动效果
2015/04/02 Javascript
关于JavaScript限制字数的输入框的那些事
2016/08/14 Javascript
vue自定义指令实现v-tap插件
2016/11/03 Javascript
JS实现的汉字与Unicode码相互转化功能分析
2018/05/25 Javascript
Nodejs使用Mongodb存储与提供后端CRD服务详解
2018/09/04 NodeJs
详解Vue源码之数据的代理访问
2018/12/11 Javascript
JS中call()和apply()的功能及用法实例分析
2019/06/28 Javascript
layui问题之模拟table表格中的选中按钮选中事件的方法
2019/09/20 Javascript
vue v-for直接循环数字实例
2019/11/07 Javascript
vscode 配置vue+vetur+eslint+prettier自动格式化功能
2020/03/23 Javascript
[16:14]教你分分钟做大人:米拉娜(HEROS)
2014/11/24 DOTA
Python实现批量读取word中表格信息的方法
2015/07/30 Python
深入讲解Python函数中参数的使用及默认参数的陷阱
2016/03/13 Python
Python使用Redis实现作业调度系统(超简单)
2016/03/22 Python
纯python进行矩阵的相乘运算的方法示例
2019/07/17 Python
python类的实例化问题解决
2019/08/31 Python
python字符串格式化方式解析
2019/10/19 Python
Python matplotlib修改默认字体的操作
2020/03/05 Python
如何基于线程池提升request模块效率
2020/04/18 Python
CSS3模拟动画下拉菜单效果
2017/04/12 HTML / CSS
美国在线健康和美容市场:Pharmapacks
2018/12/05 全球购物
计算机相关的自我评价
2014/01/15 职场文书
《花木兰》教学反思
2014/04/09 职场文书
优秀党务工作者事迹材料
2014/05/07 职场文书
开工仪式策划方案
2014/05/23 职场文书
班级学习雷锋活动总结
2014/07/04 职场文书
党员倡议书
2015/01/19 职场文书
工作简历的自我评价
2019/05/16 职场文书