博客列表 >4月26日作业

4月26日作业

老专的博客
老专的博客原创
2018年04月27日 16:04:05377浏览

4月26日作业:

func_pdo.php -- " SELECT " " WHERE " " FRPM "  等左右引号的空格容易忽视

die($sql)  很管用

代码:

  1. test.php


    实例

    <meta charset="utf-8">
    <?php
     echo '<h2>作业:数据库操作函数库测试脚本</h2>';
    
    	//1.导入数据库操作函数库
    	require './lib/func_pdo.php';
    
    	//1.连接测试
    	$type='mysql';      //默认数据库驱动
    	$host='127.0.0.1';  //默认主机
    	$dbname='php';      //数据库名称
    	$charset='utf8';    //默认编码
    	$port=3306;         //默认端口
    	$user='root';       //用户名
    	$pass='root';       //用户密码
    	$pdo = connect($dbname,$type,$host,$charset,$port,$user,$pass);
    
    	//2.新增测试
    	//确定数据表
    	//$table = 'staff';
    
    	//增加数据
    	//$data = ['name'=>'孙老师','sex'=>0, 'salary'=>5900];
    	// $data = ['name'=> '刘老师'];
    	// insert($pdo,$table,$data);
    
    	//3.更新测试
    	// $table = 'staff';
    	// $where='id=24'; //查询条件使用字符串直接传入
    	// $data = ['name'=>'张良辉','sex'=>1, 'salary'=>5000];
    	// update($pdo,$table,$data,$where);
    
    	//4.单条查询测试
    	// $table = 'staff';
    	// $fields = ['id','name','salary'];
    	// $fields = '*';
    	// $fields = 'name,id';
    	// $where = 'salary > 4000';
    	// echo '<pre>'.print_r(find($pdo, $table, $fields, $where),true).'</pre>';
    
    	//5.多条查询测试
    	// $table = 'staff';
    	// $fields = ['id', 'name','salary'];
    	// $fields = '*';
    	// $where = 'id > 12';
    	// $order = 'id asc';
    	// echo '<pre>'.print_r(select($pdo, $table, $fields, $where, $order),true).'</pre>';
    
    	//6.删除测试
    	$table = 'staff';
    	$where = 'id = 26';
    	//$where = 'id = 5';
    	delete($pdo, $table, $where);

    运行实例 »

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

  2. func_pdo,php


  3. 实例

    <meta charset="utf-8">
    <h2> PDO 增、删、改、查</h2>
    
    <?php
        echo '<h3>1、连接数据库</h3>';
        //1.连接数据库
        //判断数据库连接
        if(!function_exists('connect')){
            /**
             * [connect description]
             * @param  [type]  $dbname  [description]
             * @param  string  $type    [description]
             * @param  string  $host    [description]
             * @param  string  $charset [description]
             * @param  integer $post    [description]
             * @param  string  $user    [description]
             * @param  string  $pass    [description]
             * @return [type]           [description]
             */
            
            //连接数据库函数
            function connect($dbname, $type='mysql', $host='127.0.0.1', $charset='utf8', $port=3306, $user='root', $pass='root'){
                //(1).数据源
                 $dsn = "{$type}:host={$host}; dbname={$dbname}; charset={$charset}; port={$port}";
    
                //(2).数据库用户名
                $userName = 'root'; 
    
                //(3).数据库用户密码
                $password = 'root'; 
    
                //(4).配置连接属性
                $options = [
                    //1).设置错误模式
                    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, 
                    //2).数据表字段保持不变 
                    PDO::ATTR_CASE => PDO::CASE_NATURAL,
                    //3).启用PDO模拟
                    PDO::ATTR_EMULATE_PREPARES => true, 
                    //4).启用持久性连接
                    PDO::ATTR_PERSISTENT => true, 
                ];
    
                try{
                    //(5).实例化PDO类,创建PDO对象
                    $pdo = new PDO($dsn, $userName, $password, $options);
                } catch (PDOException $e) {
                    die('Connect ERROR!:'.$e->getMessage());
                }
    
                return $pdo;
            }
        }
        
        echo '<h3>2、新增数据</h3>';           
        // 2.新增数据
        // 判断新增函数
        if(!function_exists('insert')){
            /**
             * [insert description]
             * @param  [type] $pdo   [description]
             * @param  [type] $table [description]
             * @param  [type] $data  [description]
             * @return [type]        [description]
             */
            
            //新增数据函数
            function insert($pdo, $table, $data=[]){
                //(1).创建SQL语句
                $sql = "INSERT IGNORE {$table} SET ";
    
                //(2).循环键名(字段)
                foreach (array_keys($data) as $field) {
                    $sql .= $field.'=:'.$field.',';
                }
                //(3).去掉尾部逗号,并添加分号结束
                $sql = rtrim(trim($sql),',').';';
    
                //(4).创建PDO预处理对象
                $stmt = $pdo->prepare($sql);
    
                //(5).循环绑定参数到预处理对象
                foreach ($data as $field => $value) {
                    $stmt->bindValue(":{$field}",$value);
                }
    
                //(6).执行新增操作
                if($stmt->execute()){
                    if($stmt->rowCount()>0){
                        return true;
                    }
                } else {
                    return false;
                }
            }
        }
    
        echo '<h3>3、修改数据</h3>';
        //3.修改数据
        //判断修改函数
        if(!function_exists('update')){
            /**
             * [update description]
             * @param  [type] $pdo   [description]
             * @param  [type] $table [description]
             * @param  [type] $data  [description]
             * @param  string $where [description]
             * @return [type]        [description]
             */
            //判断修改函数
            function update($pdo, $table, $data=[], $where=''){
    
                //(1).创建SQL语句
                $sql = "UPDATE {$table} SET ";
    
                //循环键名(字段)
                foreach (array_keys($data) as $field) {
                    $sql .= $field.'=:'.$field.',';
                }
    
                //(2).去掉尾部逗号,并添加分号结束
                $sql = rtrim(trim($sql),',');
    
                //(3).添加更新条件
                if(!empty($where)) {
                    $sql .= ' WHERE '. $where;
                }else{
                    exit('条件不能为空');
                }
    
                //(4).创建PDO预处理对象
                $stmt = $pdo->prepare($sql);
    
                //(5).绑定参数到预处理对象
                foreach ($data as $field => $value) {
                    $stmt->bindValue(":{$field}",$value);
                }
    
                //(6).执行更新操作
                if($stmt->execute()){
                    if($stmt->rowCount()>0){
                        return true;
                    }
                } else {
                    return false;
                }
            }
        }
    
        echo '<h3>4、查询单条数据</h3>';
        //4.查询单条数据
        //判断单条数据查询
        if(!function_exists('find')){
            /**
             * [find description]
             * @param  [type] $pdo    [description]
             * @param  [type] $table  [description]
             * @param  [type] $fields [description]
             * @param  string $where  [description]
             * @return [type]         [description]
             */
            
            //查询单条语句函数
            function find($pdo, $table, $fields, $where=''){
    
                //(1).创建SQL语句
                $sql = ' SELECT ';
    
                //循环判断单条数据
                if (is_array($fields)) {
                    foreach ($fields as $field) {
                        $sql .= $field.', ';
                    }
                } else {
                    $sql .= $fields.', ';
                }
    
                //(2).去掉尾部逗号,并添加分号结束
                $sql = rtrim(trim($sql),',');
    
               
                //(3).添加查询条件
                 $sql .= ' FROM '.$table;
                if(!empty($where)) {
                    $sql .= ' WHERE '.$where;
                }
                $sql .= ' LIMIT 1';
    
                //去掉尾部逗号,并添加分号结束
                $sql = rtrim(trim($sql),',').';';
    //die($sql);
                //(4).创建PDO预处理对象
                $stmt = $pdo->prepare($sql);
    
                //(5).执行查询操作
                if($stmt->execute()){
                    if($stmt->rowCount()>0){
                        $stmt->setFetchMode(PDO::FETCH_ASSOC);
                        return $stmt->fetch();
                    }
                } else {
                    return false;
                }
            }
        }
    
        echo '<h3>5、查询多条数据</h3>';
        if(!function_exists('select')){
            /**
             * [select description]
             * @param  [type] $pdo   [description]
             * @param  [type] $table [description]
             * @param  [type] $filds [description]
             * @param  string $where [description]
             * @param  string $order [description]
             * @return [type]        [description]
             */
            //判断多条语句查询
            function select($pdo, $table, $fields, $where='', $order=''){
    
                //(1).创建SQL语句
                $sql = 'SELECT ';
                
    
                //循环判断多条数据
                if (is_array($fields)) {
                    foreach ($fields as $field) {
                        $sql .= $field.', ';
                    }
                } else {
                    $sql .= $fields;
    
                }
    
                //(2).去掉尾部逗号,并添加分号结束
                $sql = rtrim(trim($sql),', ');
                $sql .= ' FROM '.$table;
    
                //(2).添加查询条件
                if(!empty($where)) {
                    $sql .= ' WHERE '. $where;
                }
    
                //添加排序条件
                if(!empty($order)) {
                    $sql .= ' order by '.$order;
                }
    
                //去掉尾部逗号,并添加分号结束
                $sql = rtrim(trim($sql),', ').';';
    
                //(3).创建PDO预处理对象
                $stmt = $pdo->prepare($sql);
    
    
                //(4).执行查询操作
                if($stmt->execute()){
                    if($stmt->rowCount()>0){
                        $stmt->setFetchMode(PDO::FETCH_ASSOC);
                        //返回一个二维数组
                        return $stmt->fetchAll();
                    }
                } else {
                    return false;
                }
            }
        }
    
        echo '<h3>6、删除数据</h3>';
        if(!function_exists('delete')){
            /**
             * [delete description]
             * @param  [type] $pdo   [description]
             * @param  [type] $table [description]
             * @param  string $where [description]
             * @return [type]        [description]
             */
            
            //删除数据函数
            function delete($pdo, $table, $where=''){
    
                //(1).创建SQL语句
                $sql = "DELETE FROM {$table}";
    
                //(2).添加删除条件
                if(!empty($where)) {
                    $sql .= ' WHERE '. $where;
                }else{
                    exit('条件不能为空');
                }
    
                //(3).去掉尾部逗号,并添加分号结束
                $sql = rtrim(trim($sql),', ').';';
    
                //(4).创建PDO预处理对象
                $stmt = $pdo->prepare($sql);
    
                //(5).执行删除操作
                if($stmt->execute()){
                    if($stmt->rowCount()>0){
                        return true;
                    }
                } else {
                    return false;
                }
            }
        }
    
    ?>

    运行实例 »

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

    代码运行图片:

    51.jpg

    52.jpg

    54.png

    53.jpg

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