使用PDO对mysql数据库进行增删改查最近在做项目的时候使用PDO操作mysql数据库,于是写了一个类文件mysql_class.php文件代码如下:link=new\PDO(self::DSN,self::USERNAME,self::PASSWD,array(PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION));//创建连接}catch(PDOException$e){die("Error!:".$e->getMessage()."
");}}/*************************************************************************************@name:executesql语句*@属性:private*@入口参数:无*@出口参数:执行成功返回true,否则返回false,查询语句存放结果集数组******************************************************************************************/私有函数sql(){try{$this->connect();$this->link->beginTransaction();//开始一个事务$prepare=$this->link->prepare($this->sql);//准备查询语句$prepare->execute();//执行查询语句并返回结果集$cmd=strtolower(substr(trim($this->sql),0,6));//截取命令字符if($cmd=="select"){$array=$prepare->fetch(PDO::FETCH_ASSOC);//获取结果集中的所有数据if(count($array)){$this->result=NULL;$this->result=$array;//存储结果集returntrue;//查询结果并返回true}else{returnfalse;//否则返回false}}elseif($cmd=="insert"||$cmd=="删除"||$cmd=="更新"){if($prepare){returntrue;//执行成功返回true}else{returnfalse;//否则返回false}}$this->link->commit();//如果正确执行完成,则确认commit}catch(PDOException$e){$this->link->rollBack();//如果执行出错("Error!:".$e->getMessage()."
");/****************************************************************************************@名称:sql语句处理*@属性:public*@入口参数:cmd增删改查字符命令;dsname数据表名;first的第一个参数;second的第二个参数;*@Exit参数:执行成功则返回true,否则返回false,查询操作返回结果集数组*@用法举例:$mysql->handle("insert","abc","openid,nickname","'123','abc'");//添加$mysql->handle("delete","abc","openid='123'");//删除$mysql->handle("update","abc","nickname='def'","openid='123'");//更新$res=$mysql->handle("select","abc","*","openid='123'");//查询if(is_array($res)==true){foreach($resas$key=>$val){echo$key."=".$val."
";}}//遍历查询结果数组*************************************************************************************/公共函数句柄($cmd,$dsname,$first,$second=NULL){switch($cmd){case'insert'://insert$this->sql="insertinto$dsname($first)values($second)";休息;case'delete'://delete$this->sql="deletefrom$dsnamewhere$first";休息;case'update'://update$this->sql="update$dsnameset$firstwhere$second";休息;case'select'://query$this->sql="select$firstfrom$dsnamewhere$second";休息;default:die("SyntaxError!");//提示语法错误break;}$res=$this->sql();//执行sql语句if($res){if($cmd=='select'){return$this->result;//返回查询结果}else{returntrue;//执行成功则返回true}}else{returnfalse;//否则返回false}$this->link=NULL;;//关闭数据库}}$mysql=newmysql;//实例化数据库类?>