美文网首页
轻言放弃之博客004

轻言放弃之博客004

作者: 土乒76 | 来源:发表于2017-08-20 00:10 被阅读5次
    函数封装
    // mysql.php
    <meta charset="utf8">
    <?php 
    
        /**
         * @return resource 连接成功,返回资源
         */
        function mConn() {
            static $conn = null;
            if($conn == null) {// 说明第一次调用
                $conn = mysql_connect('localhost', 'root', '');
                mysql_query('use blog', $conn);
                mysql_query('set names utf8', $conn);
            }
            return $conn;
        }
        /**
         * 查询的函数
         * @return mixed resource/Boolean
         */
        function mQuery($sql) {
            return mysql_query($sql, mConn());
        }
    
        /**
         * select 查询多行数据
         * @param  str $sql select 待查询的sql语句
         * @return mixed select 查询成功返回一个二维数组,失败返回Boolean false
         */
        function mGetAll($sql) {
            $rs = mQuery($sql);
            if( !$rs ) {// false
                return false;
            }
    
            $data = array();
            while( $row=mysql_fetch_assoc($rs) ) {
                $data[] = $row;
            }
            return $data;
        }
    
        // $sql = "select * from cat";
        // print_r( mGetAll($sql) );
        
    
        /**
         * select 取出一行数据
         * @param str $sql 待查询的sql语句
         * @return arr/false 查询成功 返回一个一维数组
         */
        function mGetRow($sql) {
            $rs = mQuery($sql);
            if( !$rs ) {
                return false;
            }
            return mysql_fetch_assoc($rs);// 返回一行的数据就不用循环了
        }
        
        // $sql = "select * from cat where cat_id=3";
        // print_r(mGetRow($sql));
        
        /**
         * select 查询返回一个结果
         * @param str $sql 待查询的select语句
         * @return mixed 成功,返回结果,失败返回Boolean false
         */
        function mGetOne($sql) {
            $rs = mQuery($sql);
            if( !$rs ) {// false
                return false;
            }
            return mysql_fetch_row($rs)[0];
        }
    
        // $sql = "select count(*) from art where cat_id=2";// cat_id 类目
        // print_r(mGetOne($sql));
        
    
        // insert into cat (id, catname) values ('6', 'test')
        /**
         * 自动拼接insert 和 update sql语句,并且调用mQuery()去执行 sql
         * @param str $table 表名
         * @param arr $data 接收到的数据是一维数组
         * @param str $act 动作 默认为insert
         * @param str $where 防止update更改时少加where条件
         * @return Boolean insert or update success or faild
         */
        function mExec($table, $data, $act='insert', $where=0) {
            if($act == 'insert') {
                // implode 数组转字符串
                $sql = "insert into $table(";
                $sql .= implode(',', array_keys($data)) . ") values ('";
                $sql .= implode("','",array_values($data)) . "')";
                return mQuery($sql);
            }
            else if($act == "update") {
                $sql = "update $table set ";
                foreach($data as $k => $v) {
                    $sql .= $k . "='" .$v . "',";
                }
                $sql = rtrim($sql, ',') . " where " . $where;// 去掉最后一个多余的逗号
                // echo $sql;
                return mQuery($sql);
            }
        }
    
        $data = array('title' => '今天的空气', 'content' => '空气质量堪忧', 'pubtime' => 123456, 'author' => 'Aaayang');
        // insert into art(title, content, pubtime, author) values ('今天的空气', '空气质量堪忧', '123456', 'Aaayang');
        // update art set title='今天的空气', content='空气质量堪忧', pubtime='123456', author='Aaayang' where art_id=1;
        // echo mExec('art', $data, 'update', "art_id=1");
    
        /**
         * 取得上一步insert操作产生的主键ID
         */
        function getLastId() {
            return mysql_insert_id(mConn());
        }
        
     ?>
    
    连接数据库
    
    

    相关文章

      网友评论

          本文标题:轻言放弃之博客004

          本文链接:https://www.haomeiwen.com/subject/kpsxdxtx.html