栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > PHP

PHP视频教程利用PDO对mysql数据库增删改查操作类

PHP 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

PHP视频教程利用PDO对mysql数据库增删改查操作类

今天扣丁学堂PHP培训小编和大家分享一下利用PDO对mysql数据库增删改查操作类,文章中列出详细的代码供大家参考,喜欢PHP开发技术的小伙伴下面就随小编一起来看一下吧。

PHP视频教程


PDO一是PHP数据对象(PHP Data Object)的缩写。

并不能使用PDO扩展本身执行任何数据库操作,必须使用一个database-specific PDO driver(针对特定数据库的PDO驱动)访问数据库服务器。

PDO并不提供数据库抽象,它并不会重写SQL或提供数据库本身缺失的功能,如果你需要这种功能,你需要使用一个更加成熟的抽象层。

在有的项目中会用到PDO操作mysql数据库,下面和大家一起来看一下。

示例代码:


class mysql{

 //常量声明

 const DSN = "mysql:host=[数据库地址];dbname=[数据库名];charset=utf8";//数据库地址与数据库名及编码

 const USERNAME = "[数据库用户名]";//用户名

 const PASSWD = "[数据库密码]";//密码

 //私有变量声明

 private $sql = NULL;//sql语句缓存

 private $link = NULL;//数据库连接

 private $result = NULL;//结果

 

 private function connect(){

  try {

   $this->link = new PDO(self::DSN, self::USERNAME, self::PASSWD, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));//创建连接

  }

  catch (PDOException $e) {

   die ("Error!:".$e->getMessage()."


");


  }

 }

 

 private function sql(){

  try {

   $this->connect();

   $this->link->beginTransaction();//开启一个事务

   $prepare = $this->link->prepare($this->sql);//准备查询语句

   $prepare->execute();//执行查询语句并返回结果集

   $cmd = strtolower(substr(trim($this->sql),0,6));//截取命令字符

   if($cmd == "select"){

    $array = $prepare->fetch(PDO::FETCH_ASSOC);//获取结果集中的所有数据

    if(count($array)){

     $this->result = NULL;

     $this->result = $array;//存储结果集

     return true;//查询到结果返回真

    }else{

     return false;//否则返回假

    }

   }else if($cmd == "insert" || $cmd == "delete" || $cmd == "update"){

    if($prepare){

     return true;//执行成功返回真

    }else{

     return false;//否则返回假

    }

   }

   $this->link->commit(); //如果正确执行完成那么确认commit

  } catch (PDOException $e) {

   $this->link->rollBack();//如果执行中有错误的情况下回滚

   die ("Error!:".$e->getMessage()."


");


  }

 }

 

 public function handle($cmd,$dsname,$first,$second=NULL){

  switch($cmd){

   case 'insert'://插入

    $this->sql = "insert into $dsname ($first) values ($second)";

    break;

   case 'delete'://删除

    $this->sql = "delete from $dsname where $first";

    break;

   case 'update'://更新

    $this->sql = "update $dsname set $first where $second";

    break;

   case 'select'://查询

    $this->sql = "select $first from $dsname where $second";

    break;

   default:

    die ("Syntax Error!");//提示语法错误

    break;

  }

  $res = $this->sql();//执行sql语句

  if($res){

   if($cmd == 'select'){

    return $this->result;//返回查询结果

   }else{

    return true;//执行成功返回真

   }

  }else{

   return false;//否则返回假

  }

  $this->link=NULL;;//关闭数据库

 }

}

$mysql = new mysql;//数据库类的实例化



作者:扣丁学堂
链接:https://www.jianshu.com/p/a20e68d24684


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/227143.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号