php学习之自定义mysql操作类

田野里,高粱像喝醉了酒,频频点头;玉米正在变黄了的衣服里睡大觉;大豆也小坡了肚皮,蹦了出来;小白菜像列队的士兵整齐地排列在在菜地里。农民正忙忙碌碌地收获着一年的成果,田野里不时传出阵阵欢笑声。啊,秋天的景色真美啊!

关于PHP中的mysql数据库操作,是每个PHP开发者必须要会的东东,今天乱逛论坛,发现下面的代码直接拷过来,以备后用。

代码来源吾爱破解论坛,代码如果有什么不完美的地方,欢迎各位PHP大神们在下面的评论处留言交流!

<?php
 
/**
 * Created by PhpStorm.
 * Date: 2017/1/16
 * Time: 16:36
 */
class mysql
{
    /**
     * 报错函数
     *
     * @param  string $error
     */
    function err($error){
        die("对不起,您的操作有误,错误原因为:".$error);//die有两种作用 输出和终止 相当于 echo和exit的组合
    }
 
    /**
     * 连接数据库
     *
     * @param string $dbhost  主机名
     * @param string $dbuser  用户名
     * @param string $dbpsw   密码
     * @param string $dbname  数据库名
     * @param string $dbcharset 字符集/编码
     * [url=home.php?mod=space&uid=155549]@Return[/url] bool     连接成功或不成功
     */
    function connect($config){
        extract($config);
        if(!($con = mysql_connect($dbhost,$dbuser,$dbpsw))){//mysql_connect连接数据库函数
            $this -> err(mysql_error());
        }
        if(!(mysql_select_db($dbname,$con))){//mysql_select_db选择数据库的函数
            $this -> err(mysql_error());
        }
        mysql_query("set names".$dbcharset);//使用mysql_query 设置编码 格式:mysql_query("set names utf8")
 
    }
 
    /**
     * 执行sql语句
     *
     * @param string $sql
     * @return resource 返回执行成功的资源符或执行失败
     */
    function query($sql){
        if(!($query = mysql_query($sql))){
            $this -> err($sql."<br />".mysql_error());
        }else{
            return $query;
        }
    }
 
    /**
     * 列表
     *
     * @param resource $query   sql语句通过mysql_query执行出来的资源
     * @return array    返回列表数组
     */
    function findAll($query){
        while($rs = mysql_fetch_array($query,MYSQL_ASSOC)){//mysql_fetch_arrary函数把资源转换成数组,一次转换一行出来
            $list[] = $rs;
        }
       return isset($list)?$list:"";
    }
 
    /**
     * 找到单条数据
     *
     * @param resource $query   sql语句通过mysql_query执行出来的资源
     * @return array    返回单条信息数组
     */
    function findOne($query){
        $rs = mysql_fetch_array($query,MYSQL_ASSOC);
        return $rs;
    }
 
    /**
     * @param resource $query    sql语句通过mysql_query执行出来的资源
     * @param int $row
     * @param int $filed
     * @return 返回指定行的指定字段的值
     */
 
    function findResult($query,$row = 0,$filed = 0){
        $rs = mysql_result($query,$row,$filed);
        return $rs;
 
    }
 
    /**
     * 添加函数
     *
     * @param string $table 表名
     * @param array $arr
     * @return int
     * 添加数组(包含字段和值的一维数组)
     */
    function insert($table,$arr){
        //$sql="insert into 表名(多个字段)values(多个值)"
        foreach ($arr as $key=>$value){
            $value = mysql_real_escape_string($value);
            $keyArr[] = "`".$key."`";//把$arr数组中的键名保存到$keyArr[]数组当中
            $valueArr[] = "`".$value."`";//把$arr数组当中的键值保存到$valueArr当中,因为值多为字符串,而sql语句里面insert当中如果是字符串的话要加单引号,所以这个地方要加上单引号
 
        }
        $keys = implode(",",$keyArr);//implode函数是把数组组合成字符串 implode(分隔符,数组)
        $values = implode(",",$valueArr);
        $sql = "insert into ".$table."(".$keys.")values(".$values.")";
        $this -> query($sql);//调用类自身的query(执行)方法执行这条sql语句
        return mysql_insert_id();
 
 
    }
 
    /**
     * 修改函数
     *
     * @param string $table 表名
     * @param array $arr
     * 修改数组(包含字段和值的一维数组)
     * @param string $where 条件
     */
    function update($table,$arr,$where){
        //update 表名 set 字段=字段值 where....
        foreach ($arr as $key=>$value){
            $value = mysql_real_escape_string($value);
            $keyAndvalueArr[] = "`".$key."`='".$value."'";
            $keyAndvalues = implode(",",$keyAndvalueArr);
            $sql = "update ".$table." set ".$keyAndvalues." where ".$where;//修改操作 格式
            $this -> query($sql);
        }
    }
 
 
    /**
     * 删除函数
     *
     * @param string $table 表名
     * @param string $where 条件
     */
    function del($table,$where){
        $sql = "delete from ".$table." where ".$where;//删除sql语句 格式: delete frome 表名 where 条件
        $this -> query($sql);
    }
 
}

到此这篇关于php学习之自定义mysql操作类就介绍到这了。和阳光的人在一起,心里才不会变得晦暗;和快乐的人在一起,脸上就会常带面带微笑;和进取的人在一起,行动就不会变得落后;借人之智,要尽自己最大的努力去完善自己;学最好的别人,做最好的我们。更多相关php学习之自定义mysql操作类内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!

您可能有感兴趣的文章
mysql好代码教程菜鸟

宝塔服务器面板linux版本命令以及软件路径大全

PHP连接MYSQL数据库的3种常用方法

LAMP和LNMP,你更愿意选择谁,为什么?

影响PHP+MySQL网站打开速度的几个因素