PHP简单封装MySQL操作类继承PDO
<?php //继承PDO自己封装一个简简单单的数据库操作类 class Mysql extends PDO { private $dsn = 'mysql:host=localhost;dbname='; private $username; private $password; private $conn; //来一手构造方法实例化类的时候就连接数据库; public function __construct($dbn, $username = 'root', $password = 'root') { $this->dsn .= $dbn . ';'; $this->username = $username; $this->password = $password; $this->conn = PDO::__construct($this->dsn, $username, $password); //搞定数据库编码为utf8; parent::exec('set names utf8'); } //执行一条select查询语句 /** * @param string $sql 待执行的SQL语句 * @param string $fetch_style 以那种数据形式返回 FETCH_ASSOC 或者 FETCH_NUM 另一种反正我不用 FETCH_BOTH * @param array */ public function aQuery($sql, $fetch_style = PDO::FETCH_ASSOC) { try { //query发送一条sql语句 $stmt = $this->query($sql); //全部取出数据数据格式为fetch_style return $stmt->fetchAll($fetch_style); //出错了就报错么! } catch (Throwable $th) { die($th->getMessage()); } } /** * 执行带有绑定参数的SQL语句 * * @param string $sql 要执行的SQL语句 * @param array $array 绑定的参数 * @param string $fetch_style 以哪种形式返回数据 PDO::FETCH_ASSOC PDO::FETCH_NUM PDO::FETCH_BOTH 等 * @return array or bool */ public function moreExec($sql, $array = array(), $fetch_style = PDO::FETCH_ASSOC) { try { //先拟定一个查询对象 $stmt = $this->prepare($sql); //然后嘛将数组里面的键名和键值绑定起来 if (count($array) > 0) { foreach ($array as $k => $v) { $stmt->bindValue($k, $v); } } //接下来就搞一手执行查询的给你们看看 //如果SQL语句是查询语句 if (substr(trim($sql), 0, 6) === 'select') { //执行SQL语句execute $stmt->execute(); return $stmt->fetchAll($fetch_style); } //如果是update //如果是delete //如果是insert } catch (Throwable $th) { die($th->getMessage()); } } //关闭数据库链接 public function __destruct() { unset($this->conn); } }
周小雨》原创,转载请保留文章出处。
本文链接:https://zxyy.me/post-177.html
版权声明:若无特殊注明,本文为《正文到此结束
管理员已关闭本篇文章评论!