博主信息
博文 15
粉丝 0
评论 1
访问量 13145
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
pdo预处理的增删改查--4.26日作业
吴明的博客
原创
1202人浏览过
  1. 增加记录条数

    sql拼接语句时一定要注意空格,语句的规范性检查,array_keys/rtrim/prepare/bindValue/execute/rowCount  这些函数的使用

  2. 更新记录

        更新的条件不能为空,其余和新增插入类似

    3、记录查询,分为查询单条和多条,sql 语句写法有些差异,PDO执行时 单条记录和多条记录查询韩数分别是

$stmt ->setFetchModel(PDO::FETCH_ASSOC);返回值为:$stmt->fetch

    4删除的执行操作也是条件不能为空。

<?php

//连接数据库

$dsn = "mysql:host=localhost;dbname=php;charset=utf8;port=3306";

$userName = "root";

$password = "";

try{

  $pdo = new PDO($dsn,$userName,$password);

}catch(PDOException $e){

print'connect_error:'.$e->getMessage();

//exit();

}

//新增数据

 if(!function_exists('insert')){

  function insert($pdo,$table,$data=[]){

  //创建sql语句

  $sql = "INSERT IGNORE {$table} SET ";

  foreach( array_keys($data) as $field){

  $sql .= $field .'=:'.$field.',';

  }

  //去掉尾部逗号,并添加分号结束

  $sql = rtrim(trim($sql),',').';';

  //创建pdo预处理对象

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

  //绑定参数到预处理对象

  foreach($data as $field=>$value){

  $stmt ->bindValue(":$field",$value);

  }

  //执行新操作

  if($stmt->execute()){

  if($stmt->rowCount()>0){

  return true;

  }

  }else{

  return false;

  }

 

  }

 }

 //更新数据

 if(!function_exists('uptate')){

  function uptate($pdo,$table,$data=[],$where="")

  //创建sql语句

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

  foreach(array_keys($data) as $field){

  $sql .=$field.':'.$field","

  }

  //去掉结尾的逗号

  $sql= rtrim(trim($sql),',');

  //添加更新条件

  if(!empty($where)) {

            $sql .= ' WHERE '. $where;

        }else{

            exit('条件不能为空');

        }

        //创建参数到预处理对象

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

         foreach($data as $field=>$value){

          $stmt->bindValue(":{$field}".$value);

         }

         if($stmt->execute())

         {

          if($stmt->rowCount()>0)

          {

          return true

          }

         }else{

          return false;

         }

    }

 }

 //查询单条记录

 if(!function_exists('find')){

  function find($pdo,$table,$fields,$where='')

  {

  $sql = 'SELECT';

  if(is_array($fields)){

  foreach($fields as $field){

  $sql .= $fields.','

  }

  }else{

  $sql .= $fields;

  }

  $sql = rtrim(trim($sql),',');

  $sql .= 'FROM'.$table;

  //添加查询条件

  if(!empty($where))

  {

  $sql .= ' WHERE'.$where;

  }

  $sql .= ' LIMIT 1';

  //sql语句拼装

  $sql = rtrim(trim(),',');

  $stmt =  $pdo ->prepare();

  //执行查询操作

  if($stmt ->execute()

  {

  if($stmt-rowCount()>0)

  {

  //return true;

  $stmt ->setFetchMode({PDO ::FETCH_ASSOC )

  {

  return $stmtAll();

 

  }

  }else{

  return false;

  }

  }

 }



 //多条记录查询

 if (!function_exists('select')) {


    function select($pdo,$table,$fields, $where='', $order='') {

        //创建SQL语句

        $sql = 'SELECT ';

        if (is_array($fields)) {

            foreach ($fields as $field) {

                $sql .= $field.', ';

            }

        } else {

            $sql .= $fields;

        }


        $sql = rtrim(trim($sql),',');

        $sql .= '  FROM '.$table;

        //添加查询条件

        if(!empty($where)) {

            $sql .= '  WHERE '. $where;

        }


        //添加排序条件

        if(!empty($order)) {

            $sql .= ' order by '.$order;

        }


        //去掉尾部逗号,并添加分号结束

        $sql = rtrim(trim($sql),',').';';


        //创建PDO预处理对象

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


        //执行查询操作

        if($stmt->execute()){

            if($stmt->rowCount()>0){

                $stmt->setFetchMode(PDO::FETCH_ASSOC);

                //返回一个二维数组

                return $stmt->fetchAll();

            }

        } else {

            return false;

        }

    }

}


//删除数据

if (!function_exists('delete')) {

   

    function delete($pdo,$table, $where='') {

        //创建SQL语句

        $sql = "DELETE FROM {$table}  ";

        //添加删除条件

        if(!empty($where)) {

            $sql .= 'WHERE '. $where;

        }else{

            exit('条件不能为空');

        }

        //去掉尾部逗号,并添加分号结束

        $sql = rtrim(trim($sql),',').';';


        //创建PDO预处理对象

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


        //执行删除操作

        if($stmt->execute()){

            if($stmt->rowCount()>0){

                return true;

            }

        } else {

            return false;

        }

    }

}


批改状态:未批改

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学