博客列表 >数据库学习-封装PDO数据库操作类20180427,18点41

数据库学习-封装PDO数据库操作类20180427,18点41

MrZ的博客
MrZ的博客原创
2018年04月27日 18:46:18600浏览

一、知识点

1,主要涉及知识点,函数的封装、使用。pdo连接函数封装,pdo操作数据库常规操作的使用流程。

2,PDO连接函数封装

主要对使用常规操作对PDO连接流程封装到函数内,返回连接对象。

3,PDO数据库常规操作封装

数据库数据插入、数据查询、数据修改,数据删除

二、代码部分


实例

<?php
/**
 * 数据库PDO连接
 * @param $type
 * @param $host
 * @param $dbname
 * @param $db_un
 * @param $db_pw
 * @return PDO
 */

 function db_conn($type,$host,$dbname,$db_un,$db_pw)
 {
    $dsn="{$type}:host={$host};dbname={$dbname}";
    $un=$db_un;
    $pw=$db_pw;

    $pdo=new PDO("$dsn","$un","$pw");


    return $pdo;
 }
//INSERT into user set username="aa",`password`="zzz"


/**
 * 数据库插入操作
 * @param $pdo
 * @param $table
 * @param array $data
 */

function db_insert($pdo,$table,$data=[])
{
    $sql="INSERT into {$table} set";

    foreach (array_keys($data) as $keys)
    {
      $sql.=" {$keys}=:{$keys},";
    }
    trim($sql);
    $sql=rtrim($sql,",");

    $stmt=$pdo->prepare($sql);

    foreach ($data as $key=>$val)
    {
        $stmt->bindValue(":{$key}",$val);
    }

    if ($stmt->execute())
    {
        if ($stmt->rowCount()>0)
        {
            return ($stmt->rowCount());
        }
    }
    else
    {
        return false;
    }

}
//UPDATE `user` SET username="aaa"  WHERE id=8

function db_update($pdo,$table,$data,$where="")

{

   $sql="UPDATE {$table} SET";

   foreach (array_keys($data) as $keys)
   {
       $sql.=" {$keys}=:$keys ,";

   }

   trim($sql);
   $sql=rtrim($sql,",");
   if (!empty($where))
   {
     $sql.=" where {$where}";
   }
   else
   {
       exit('没有where条件');
   }
 // exit($sql);
    $stmt=$pdo->prepare($sql);

   foreach ($data as $key=>$val)
   {
       $stmt->bindValue(":{$key}",$val);

   }

 if ($stmt->execute())
 {

     if ($stmt->rowCount()>0)
     {
         return "<h1>更新成功</h1>";
     }
     else{
         return "<h1>没有数据被更新</h1>";
     }
 }
 else
 {
     print_r($stmt->errorInfo());
 }




}

运行实例 »

点击 "运行实例" 按钮查看在线实例


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议