PDO扩展类,加了几个很方便的类方法
- <?php
- $db=new MYPDO("mysql:host=$host;dbname=$dbname",$name,$password);
- $db->query("set names utf8");
- class MYPDO extends PDO{
- public $sql;
- function __construct($dsn,$name,$password){
- $this->conn=parent::__construct($dsn,$name,$password);
- return $this->conn;
- }
- function query($sql){
- $this->sql = $sql;
- if($re=parent::query($sql)){
- return $re;
- }else{
- $this->err();
- return false;
- }
- }
- function insert($table,$date){
- foreach($date as $k => $v){
- $ks.=$ks?",`$k`":"`$k`";
- $vs.=$vs?",'$v'":"'$v'";
- }
- $this->sql = "INSERT INTO `$table` ($ks) VALUES ($vs);";
- $return = $this->exec($this->sql);
- $err = $this->errorinfo();
- if($err[2]) {
- $this->err();
- }else {
- return $return;
- }
- }
- function update($table,$date,$where=''){
- foreach($date as $k => $v){
- $s.=$s?",`$k`='$v'":"`$k`='$v'";
- }
- $this->sql = $sql = "UPDATE `$table` SET $s WHERE $where";
- $return = $this->exec($this->sql);
- $err = $this->errorinfo();
- if($err[2]) {
- $this->err();
- }else {
- return $return;
- }
- }
- function delete($table,$where) {
- $this->sql = "delete from $table where $where";
- $return = $this->exec($this->sql);
- $err = $this->errorinfo();
- if($err[2]) {
- $this->err();
- }else {
- return $return;
- }
- }
- //*****************************************
- function err(){
- $info = $this->errorinfo();
- $info = $info[2];
- $sql = $this->sql;
- echo <<<eot
- <style type="text/css">
- <!--
- .d {
- height: auto;
- width: 600px;
- border: 1px dashed #999999;
- margin-right: auto;
- margin-left: auto;
- margin-top: 50px;
- text-align: left;
- }
- body {
- text-align: center;
- }
- span {
- color: #FF0000;
- }
- -->
- </style>
- <div class="d">
- <div><span >SQL :</span>{$sql}</div>
- <div><span >Info:</span>{$info}</div>
- <div><span >File:</span>{$_SERVER['PHP_SELF']}</div>
- </div>
- eot;
- die();
- }
- //********************************************
- }
- ?>