mysqli DB封装
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 | <?php class mysql { private $mysqli; private $result; /** * 数据库连接 * @param $config 配置数组 */ public function connect($config) { $host = $config[ 'host' ]; //主机地址 $username = $config[ 'username' ]; //用户名 $password = $config[ 'password' ]; //密码 $database = $config[ 'database' ]; //数据库 $port = $config[ 'port' ]; //端口号 $ this ->mysqli = new mysqli($host, $username, $password, $database, $port); } /** * 数据查询 * @param $table 数据表 * @param null $field 字段 * @param null $where 条件 * @return mixed 查询结果数目 */ public function select ($table, $field = null , $ where = null ) { $sql = "SELECT * FROM {$table}" ; if (!empty($field)) { $field = '`' . implode( '`,`' , $field) . '`' ; $sql = str_replace( '*' , $field, $sql); } if (!empty($ where )) { $sql = $sql . ' WHERE ' . $ where ; } $ this ->result = $ this ->mysqli->query($sql); return $ this ->result->num_rows; } /** * @return mixed 获取全部结果 */ public function fetchAll() { return $ this ->result->fetch_all(MYSQLI_ASSOC); } /** * 插入数据 * @param $table 数据表 * @param $data 数据数组 * @return mixed 插入ID */ public function insert($table, $data) { foreach ($data as $key => $value) { $data[$key] = $ this ->mysqli->real_escape_string($value); } $keys = '`' . implode( '`,`' , array_keys($data)) . '`' ; $values = '\'' . implode( "','" , array_values($data)) . '\'' ; $sql = "INSERT INTO {$table}( {$keys} )VALUES( {$values} )" ; $ this ->mysqli->query($sql); return $ this ->mysqli->insert_id; } /** * 更新数据 * @param $table 数据表 * @param $data 数据数组 * @param $where 过滤条件 * @return mixed 受影响记录 */ public function update($table, $data, $ where ) { foreach ($data as $key => $value) { $data[$key] = $ this ->mysqli->real_escape_string($value); } $sets = array(); foreach ($data as $key => $value) { $kstr = '`' . $key . '`' ; $vstr = '\'' . $value . '\'' ; array_push($sets, $kstr . '=' . $vstr); } $kav = implode( ',' , $sets); $sql = "UPDATE {$table} SET {$kav} WHERE {$where}" ; $ this ->mysqli->query($sql); return $ this ->mysqli->affected_rows; } /** * 删除数据 * @param $table 数据表 * @param $where 过滤条件 * @return mixed 受影响记录 */ public function delete($table, $ where ) { $sql = "DELETE FROM {$table} WHERE {$where}" ; $ this ->mysqli->query($sql); return $ this ->mysqli->affected_rows; } } |
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 | <?php require_once 'mysql.class.php' ; /* 配置连接参数 */ $config = array( 'type' => 'mysql' , 'host' => 'localhost' , 'username' => 'woider' , 'password' => '3243' , 'database' => 'php' , 'port' => '3306' ); /* 连接数据库 */ $mysql = new mysql(); $mysql->connect($config); /* 查询数据 */ //1、查询所有数据 $table = 'mysqli' ; //数据表 $num = $mysql-> select ($table); echo '共查询到' . $num . '条数据' ; print_r($mysql->fetchAll()); //2、查询部分数据 $field = array( 'username' , 'password' ); //过滤字段 $ where = 'id % 2 =0' ; //过滤条件 $mysql-> select ($table, $field, $ where ); print_r($mysql->fetchAll()); /* 插入数据 */ $table = 'mysqli' ; //数据表 $data = array( //数据数组 'username' => 'admin' , 'password' => sha1( 'admin' ) ); $id = $mysql->insert($table, $data); echo '插入记录的ID为' . $id; /* 修改数据 */ $table = 'mysqli' ; //数据表 $data = array( 'password' => sha1( 'nimda' ) ); $ where = 'id = 44' ; $rows = $mysql->update($table, $data, $ where ); echo '受影响的记录数量为' . $rows . '条' ; /* 删除数据 */ $table = 'mysqli' ; $ where = 'id = 45' ; $rows = $mysql->delete($table, $ where ); echo '已删除' . $rows . '条数据' ; |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 用 C# 插值字符串处理器写一个 sscanf
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· 趁着过年的时候手搓了一个低代码框架
· 本地部署DeepSeek后,没有好看的交互界面怎么行!
· 为什么说在企业级应用开发中,后端往往是效率杀手?
· 用 C# 插值字符串处理器写一个 sscanf
· 乌龟冬眠箱湿度监控系统和AI辅助建议功能的实现
2015-11-10 linux命令1