关于PHP中的mysql数据库操作,是每个PHP开发者必须要会的东东,今天乱逛论坛,发现下面的代码直接拷过来,以备后用。
代码来源吾爱破解论坛,代码如果有什么不完美的地方,欢迎各位PHP大神们在下面的评论处留言交流!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 | <?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); } } |