php中通过pdo来操作mysql是很快速方便的,跟原生js代码比那是简单了不少,小编自己整理了一个类,有点乱,但是基本功能都实现了,大家用的话可以自己拿去稍加整理就好,

mySQLHelper类代码:

<?php
class mySQLHelper{
	//数据库连接信息
	private $host='localhost';		//数据库地址
	private $dbname='dbname';		//数据库名
	private $uid='uid';				//数据库用户名
	private $pwd='pwd';				//数据库密码
	private $con;
	function __construct(){
		$this->con= new PDO(
		"mysql:host=".$this->host.";dbname=".$this->dbname,
		$this->uid,$this->pwd, 
		array(PDO::MYSQL_ATTR_INIT_COMMAND => "set names 'utf8';"));
	}
	
	//返回结果集合,失败返回null(select)
	public function MyQuery($sql){
		$data=$this->con->query($sql);
		
		//$data->setFetchMode(PDO::FETCH_ASSOC);//结果集只显示 键值对格式
		//$data->setFetchMode(PDO::FETCH_NUM);//结果集只显示 索引格式数据
		
		//以下三个参数不能用于fetchAll()
		//PDO::CASE_LOWER -- 强制列名是小写
		//PDO::CASE_NATURAL -- 列名按照原始的方式
		//PDO::CASE_UPPER -- 强制列名为大写
		//$data->setFetchMode(PDO::CASE_UPPER);
		
		//默认两种方式体现
		if($data)
			return $data->fetchAll();
		else
			return null;
	}
	
	//参数方式执行(insert,delete,update,select),防止SQL注入,可自动处理特殊符号 如:单引号,双引号
	public function Prepare($sql,$arr=array()){
		$dp=$this->con->prepare($sql);
		if(is_array($arr)){
			for($i=1;$i<=count($arr);$i++){
				$dp->bindParam($i,$arr[$i-1]);
			}
		}
		return $dp->execute();
		/*
		调用方式1,类似索引方式传递参数
		$res=$this->con->Prepare(
			"insert into tb_article(title,auth,pubtime) values(?,?,?)",
			array(
				'你"好吗?"',
				"另一个",
				time()
			));
		执行方式1
		$dp->bindParam(1,'你好"吗');//从1开始
		$dp->bindParam(2,'沈从文');
		
		调用方式2  键值方式传递参数
		$res=$this->con->Prepare(
			"insert into tb_article(title,auth,pubtime) values(:title,:auth,:time)",
			array(
				'你"好吗?"',
				"另一个",
				time()
			));
		执行方式1
		$dp->bindParam(':title','你好"吗');//
		*/
	}
	//返回最新ID的参数化方法(如:insert)
	public function ZhiXing($sql,$arr=array()){
		$dp=$this->con->prepare($sql);
		if(is_array($arr)){
			for($i=1;$i<=count($arr);$i++){
				$dp->bindParam($i,$arr[$i-1]);
			}
		}
		$dp->execute();
		return $this->con->lastInsertId();
	}
	
	//返回受影响行数(insert,delete,update)
	public function Excute($sql){
		$rows=$this->con->exec($sql);
		return $rows;
	}
	
	//插入记录返回最新自增字段值
	public function ExcuteKey($sql){
		$this->con->exec($sql);
		return $this->con->lastInsertId();
	}
	
	//满足条件数量统计(select count(*) ... )
	public function RowsCount($sql){
		$data=$this->con->query($sql);
		return $data->fetchColumn();
	}
	
	//根据记录总数获取总分页数
	public function getTotalPage($totalcount,$pagesize){
		if($totalcount<1){return 0;}
		if($totalcount%$pagesize==0){
			$totalpage=$totalcount/$pagesize;
		}else{
			$totalpage=($totalcount-($totalcount%$pagesize))/$pagesize+1;
		}
		return $totalpage;
	}
	//获取分页代码
	public function getPageHtml($currentpage,$totalcount,$pagesize=25,$sql){
		$pagerange=3;		//分页宽度
		$totalpage=0;		//总页数
		//	x条记录  << 5 >> 共y页
		if($totalcount<=$pagesize){
			return "<a class='thispage'>$totalcount 条记录</a>";
		}
		//总页数
		if($totalcount%$pagesize==0){
			$totalpage=$totalcount/$pagesize;
		}else{
			$totalpage=($totalcount-($totalcount%$pagesize))/$pagesize+1;
		}
		$startpage=$currentpage-$pagerange>0?$currentpage-$pagerange:1;
		$endpage=$currentpage+$pagerange<$totalpage?$currentpage+$pagerange:$totalpage;
		//头部
		$page='<a>'.$totalcount.'条记录</a>';
		//当前分页前
		for($i=$startpage;$i<$currentpage;$i++){
			if($sql==''){
				$page.="<a href='?p=$i'>$i</a>";
			}else{
				$page.="<a href='$sql&p=$i'>$i</a>";
			}
		}
		//当前分页
		$page.='<a class="thispage">'.$currentpage.'</a>';
		//当前分页后
		for($i=$currentpage+1;$i<=$endpage;$i++){
			if($sql==''){
				$page.="<a href='?p=$i'>$i</a>";
			}else{
				$page.="<a href='$sql&p=$i'>$i</a>";
			}
		}
		//总页数
		$page.='<a>共'.$totalpage.'页</a>';
		return '<div class="pages">'.$page.'</div>';
	}
}

?>

使用方法举例,新增一条记录,参数化执行,忽略单双引号等

require('../include/pdo.mysql.class.php');
$con=new mySQLHelper;
$tjshijian=time();

$res=$con->ZhiXing("insert into tb_mytable(uname,tell,tjshijian,ip,remark) value(?,?,?,?,?)",
array(
	'小芳','18222222222',
	$tjshijian,'115.29.226.56','你"好吗?"'
));

当然,前提是你的php要开启pdo_mysql扩展。