Blogger Information
Blog 55
fans 0
comment 0
visits 30645
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
4月26日作业
老专的博客
Original
388 people have browsed it

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

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post