2019-06-03 16:05:49
围观(4337)
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 | class mysql { private $host = 'localhost' ; private $name = 'root' ; private $pass = 'root' ; private $database = 'test' ; private $port = 3306; private $mysql ; /**------------------------------------------------ * 构造函数 使用PHP内置的mysqli类对数据库进行连接 *------------------------------------------------*/ public function __construct() { $this ->mysql = @ new mysqli( $this ->host, $this ->name, $this ->pass, $this ->database, $this ->port); if ( $this ->mysql->connect_errno){ exit ( "数据库连接错误 {$this->mysql->connect_error}" ); } } /**------------------------------------------------ * 根据表名, 字段名, 值 对数据表进行插入数据 * 成功返回插入记录的ID 否则返回0 *------------------------------------------------*/ public function insert( $table , $data ) { //解析传递过来的字段 转为字串 $field = '' ; $worth = '' ; $i = 1; $length = count ( $data ); foreach ( $data as $key => $value ) { if ( $length != $i ){ $field .= $key . ',' ; if ( gettype ( $value ) == 'string' ){ $worth .= "'$value'," ; } else { $worth .= $value ; } } else { $field .= $key ; if ( gettype ( $value ) == 'string' ){ $worth .= "'$value'" ; } else { $worth .= $value ; } } $i ++; } $sql = "insert into {$table}({$field})values($worth)" ; $result = $this ->mysql->query( $sql ); //获取返回的ID return $this ->mysql->insert_id; } /**------------------------------------------------ * 根据表名 where条件的键值 对数据记录进行删除 * 成功返回 true 否则返回 false *------------------------------------------------*/ public function delete ( $table , $key , $value ) { if ( gettype ( $value ) == 'string' ){ $value = "'{$value}'" ; } $sql = "delete from {$table} where {$key} = {$value}" ; return $this ->mysql->query( $sql ); } /**------------------------------------------------ * 根据表名 where条件的键值 对数据记录进行查询 * 成功返回数组 否则返回空数组 *------------------------------------------------*/ public function get( $table , $condition ) { $where = '' ; foreach ( $condition as $key => $value ) { if ( gettype ( $value ) == 'string' ){ $value = "'{$value}'" ; } $where .= " $key = $value and" ; } $where = "where " . mb_substr( $where , 0, mb_strlen( $where ) - 3); $sql = "select * from {$table} {$where}" ; $sql = trim( $sql ); $result = $this ->mysql->query( $sql ); $data = []; while ( $res_data = $result ->fetch_assoc()) { var_dump( $res_data ); $data [] = $res_data ; } return $data ; } /**------------------------------------------------ * 根据表名 字段及值 条件 修改记录 * 成功返回true 否则返回false *------------------------------------------------*/ public function update( $table , $data , $where ) { $field = '' ; foreach ( $data as $key => $value ) { if ( gettype ( $value ) == 'string' ){ $value = "'{$value}'" ; } $field .= "{$key} = {$value}, " ; } $field = mb_substr( $field , 0, mb_strlen( $field ) -2); //条件 $worth = '' ; foreach ( $where as $key => $value ) { if ( gettype ( $value ) == 'string' ){ $value = "'{$value}'" ; } $worth .= "{$key} = {$value} and " ; } $worth = 'where ' . mb_substr( $worth , 0, mb_strlen( $worth ) - 5); $sql = "update {$table} set {$field} {$worth}" ; return $this ->mysql->query( $sql ); } /**------------------------------------------------ * 将传递过来的值转义并返回 *------------------------------------------------*/ public function escape( $string ) { return $this ->mysql->escape_string( $string ); } /**------------------------------------------------ * 析构函数 关闭数据库连接 *------------------------------------------------*/ public function __destruct() { $this ->mysql->close(); } } |
调用方法
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | //引入 MySql 类 include_once ( 'mysql.php' ); $mysql = new mysql(); //对数据记录进行删除操作 $res = $mysql -> delete ( '表名' , '条件字段名' , '值' ); //对数据表进行插入数据操作 $res = $mysql ->insert( '表名' , [条件字段及值 如 'name' => 'root' ...]); //对数据表进行查询操作 $res = $mysql ->get( '表名' , [条件字段及值 如 'name' => 'root' ...]); //对数据记录进行修改更新 $res = $mysql ->update( '表名' , [条件字段及值 如 'name' => 'root' ...]); |
封装后进行插入新增数据只需要传递一个数组进入该方法。
但也有个缺陷就是所有的where条件都只能等于,而不能进行大于小于判断。
本文地址 : bubaijun.com/page.php?id=124
版权声明 : 未经允许禁止转载!
上一篇文章: 使用Laravel发送邮件
下一篇文章: Linux Centos7安装配置SVN