深圳市金黑网络技术有限公司始终坚持以用户需求为导向,提供安全、稳定、高效的产品和服务!
签到 · 搜索导航 · 服务热线 · 微信/手机:17817817816

深圳网站建设

查看: 325|回复: 0

php封装MySQL的数据操作的功能执行增、删、改操作

[复制链接]

UID
1
贡献
844
金币
1540
主题
520
在线时间
333 小时
注册时间
2022-1-15
最后登录
2024-11-12
QQ
发表于 2022-12-9 13:24:30 | 325 | 0 | 显示全部楼层 |阅读模式
php封装MySQL的数据操作的功能执行增、删、改操作

代码如下:
  1. <?php
  2. //封装MySQL单例
  3. class MySQLDB {
  4.         private $host;                //主机地址
  5.         private $port;                //端口号
  6.         private $user;                //用户名
  7.         private $pwd;                //密码
  8.         private $dbname;        //数据接名
  9.         private $charset;        //字符集
  10.         private $link;                //连接对象
  11.         private static $instance;
  12.         private function __construct($param) {
  13.                 $this->initParam($param);
  14.                 $this->initConnect();
  15.         }
  16.         private function __clone() {
  17.                
  18.         }
  19.         //获取单例
  20.         public static function getInstance($param=array()) {
  21.                 if(!self::$instance instanceof self)
  22.                         self::$instance=new self($param);
  23.                 return self::$instance;
  24.         }
  25.         //初始化参数
  26.         private function initParam($param) {
  27.                 $this->host=$param['host']??'127.0.0.1';
  28.                 $this->port=$param['port']??'3306';
  29.                 $this->user=$param['user']??'';
  30.                 $this->pwd=$param['pwd']??'';
  31.                 $this->dbname=$param['dbname']??'';
  32.                 $this->charset=$param['charset']??'utf8';
  33.         }
  34.         //连接数据库
  35.         private function initConnect() {
  36.                 $this->link=@mysqli_connect($this->host,$this->user,$this->pwd,$this->dbname);
  37.                 if(mysqli_connect_error()){
  38.                         echo '数据库连接失败<br>';
  39.                         echo '错误信息:'.mysqli_connect_error(),'<br>';
  40.                         echo '错误码:'.mysqli_connect_errno(),'<br>';
  41.                         exit;
  42.                 }
  43.                 mysqli_set_charset($this->link,$this->charset);
  44.         }
  45.         //执行数据库的增、删、改、查
  46.         private function execute($sql) {
  47.                 if(!$rs=mysqli_query($this->link,$sql)){
  48.                         echo 'SQL语句执行失败<br>';
  49.                         echo '错误信息:'.mysqli_error($this->link),'<br>';
  50.                         echo '错误码:'.mysqli_errno($this->link),'<br>';
  51.                         echo '错误的SQL语句:'.$sql,'<br>';
  52.                         exit;
  53.                 }
  54.                 return $rs;
  55.         }
  56.         /**
  57.         *执行增、删、改
  58.         *@return bool 成功返回true,失败返回false
  59.         */
  60.         public function exec($sql) {
  61.                 $key=substr($sql,0,6);
  62.                 if(in_array($key,array('insert','update','delete')))
  63.                         return $this->execute($sql);
  64.                 else{
  65.                         echo '非法访问<br>';
  66.                         exit;
  67.                 }

  68.         }
  69.         //获取自动增长的编号
  70.         public function getLastInsertId() {
  71.                 return mysqli_insert_id($this->link);
  72.         }
  73. }

  74. //测试
  75. //配置参数
  76. $param=array(
  77.         'user'                =>        'root',
  78.         'pwd'                =>        'root',
  79.         'dbname'        =>        'data'
  80. );
  81. //获取单例
  82. $db=MySQLDB::getInstance($param);
  83. //更新
  84. //$db->exec("update news set title='青草' where id=2");
  85. //插入
  86. if($db->exec("insert into news values (null,'aa','bb',unix_timestamp())"))
  87.         echo '编号是:'.$db->getLastInsertId();
复制代码


楼主热帖

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

快速回复 返回顶部 返回列表