博主信息
博文 28
粉丝 0
评论 0
访问量 20744
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
常用数据库封装--2018年05月02日23:00
植树青年小江同志的博客
原创
478人浏览过

实例

<?php

// 连接数据库
if (!function_exists('connect'))
{
    
    function connect( $dbname, $type='mysql', $host='127.0.0.1' , $charset='utf8', $port=3306, $user='root', $pass='root')
    {
        $dsn = "{$type}:host={$host}; dbname={$dbname}; charset={$charset}; port={$port};"

        $userName = 'gakkispy';

        $password = 'password';

        $options = [
            PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION,
            PDO::ATTR_CASE=>PDO::CASE_NATURAL,
            PDO::ATTR_EMULATE_PREPARES=>true,
            PDO::ATTR_PERSISITENT=>true,
        ];
        try{
            $pdo = new PDO($dsn, $userName, $password, $options);
        } catch (PDOException $err) {
            die('连接错误:' . $err->getMessage());
        }


        return $pdo;
    }
}

// 插入
if (!function_exists('insert')) {
    function insert( $pdo, $table, $data = []) 
    {
        //   创建 sql 语句
        $sql = "INSERT IGNORE {$table} SET";

        foreacg (array_keys($data) as $field) {
            $sql .= $field . '=:' . $field . ', ';
        }

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

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

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

        //   执行

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

// 删除

if (!function_exsits('delete')) {


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

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

        if (!empty($where)) {
            $sql .= "WHERE {$where};";
        } else {
            exit('条件不能为空');
        }


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

        // 创建预处理对象
        $stmt=$pdo->prepare($sql);

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


// 更新
if (!function_exists('update')) {
    function update ($pdo, $table, $data=[], $where='')
    {
        $sql = "UPDATE {$table} SET ";

        foreach (array_keys($data) as $key) {
            $sql .= $key .'=:' . $key . ', ';
        }

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

        if (!empty($where)) {
            $sql .= ' WHERE ' . $where;
        } else {
            exit('条件不能为空');
        }

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

        foreach($data as $key=>$value) {
            $stmt->bindValue(":{$key}", $value);
        }
        if ($stmt->execute()) {
            if ($stmt->rowCount()>0) {
                return true;
            }
        } else {
            return false;
        }
    }
}

// 查询 单条

if (!function_exits('find')) {
    function find($pdo, $table, $fields,$where='')
    {
        $sql = 'SELELCT';

        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;
        }

        $sql .= 'LIMIT 1';
        $sql = rtrim($trim($sql), ',') . ';'s;

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

        if ($stmt->execute()) {
            if ($stmt->rowCount()>0) {
                $stmt->setFetchMode(PDO::FETCH_ASSOC);
                return $stmt->fetch();
            }
        } else {
            return false;
        }

    }
}

// 查询 多条
if (!function_exists('select')) {
    function select($pdo, $table, $fields, $where='', $order)
    {
        $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), ','). ';';

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

        if ($stmt->execute()) {
            if ($stmt->rowCount()>0) {
                $stmt->setFetchMode(PDO::FETCH_ASSOC);

                return $stmt->fetchAll();
            }
        } 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+教程免费学