PDO与异常案例 置顶 | 发表于 2019-02-28 | 分类于 Dev , PHP , PDO | 阅读次数: 本文字数: 3k | 阅读时长 ≈ 3 分钟 PDO与异常案例:封装PDO操作类功能分析 连库基本操作; 设置操作(增删改); 查一条数据; 查多条数据; 代码实现构建名为code18.php的程序,代码如下, 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889/** * PDO操作类 * @param */class PDOTool{ private $type;//数据库的类型 private $host;//IP地址 private $port;//端口号 private $charset;//字符集 private $dbname;//默认选择的数据库 private $acc;//帐号 private $pwd;//密码 private $pdo; public function __construct($type='mysql', $host='localhost', $port=3306, $charset='utf8', $dbname='test', $acc='root', $pwd='123abc'){ //初始化参数 $this->type = $type; $this->host = $host; $this->port = $port; $this->charset = $charset; $this->dbname = $dbname; $this->acc = $acc; $this->pwd = $pwd; //连库基本操作 $this->connect(); //设置错误处理模式属性 $this->pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } #连库基本操作 private function connect(){ $dsn = "{$this->type}:host={$this->host};port={$this->port};charset={$this->charset};dbname={$this->dbname}"; $this->pdo = new PDO($dsn, $this->acc, $this->pwd); } #设置操作 public function setData($sql){ try{ $this->pdo->exec($sql);//监听执行增删改的操作 }catch(PDOException $err){ //输出错误信息 echo '错误的代号:' . $err->getCode() . '<br/>'; echo '错误的信息:' . $err->getMessage() . '<br/>'; echo '错误的行号:' . $err->getLine() . '<br/>'; echo '错误的文件:' . $err->getFile(); return false; } return true; } #查一条数据 public function getRow($sql){ try{ $pdostatement = $this->pdo->query($sql);//监听执行增删改的操作 }catch(PDOException $err){ //输出错误信息 echo '错误的代号:' . $err->getCode() . '<br/>'; echo '错误的信息:' . $err->getMessage() . '<br/>'; echo '错误的行号:' . $err->getLine() . '<br/>'; echo '错误的文件:' . $err->getFile(); return false; } return $pdostatement->fetch(PDO::FETCH_ASSOC);//返回解析得到的一条关联数组数据 } #查询多条数据 public function getRows($sql){ try{ $pdostatement = $this->pdo->query($sql);//监听执行增删改的操作 }catch(PDOException $err){ //输出错误信息 echo '错误的代号:' . $err->getCode() . '<br/>'; echo '错误的信息:' . $err->getMessage() . '<br/>'; echo '错误的行号:' . $err->getLine() . '<br/>'; echo '错误的文件:' . $err->getFile(); return false; } return $pdostatement->fetchAll();//返回解析得到的一条关联数组数据 }} 本文作者: Kuma 本文链接: http://blog.kuma8866.top/posts/2958378060/ 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!