>php教程 >PHP源码 >简单的PHP MYSQL PDO操作类 mysql.class.php

简单的PHP MYSQL PDO操作类 mysql.class.php

PHP中文网
PHP中文网원래의
2016-05-26 08:18:361199검색

通过php pdo链接MYSQL数据库,进行简单的数据操作,我的网站[爱玩电脑 aowana.sinaapp.com],目前使用的就是这个类,如果该类更新会继续分享到oschina。

1. [代码]非常简单的PHP通过PDO操作MYSQL类 mysql.class.php    

<?php
/**
 * MySQL操作类
 * http://www.php.cn/
 * 日期:2015-04-01
 */
class mysql
{
	public $pdo = null;
	public $results = null;

	public function find($sql, $array=array())
	{
		$ok = $this->process($sql, $array);
		if ($ok)
		{
			$this->results->setFetchMode(PDO::FETCH_ASSOC);
			$data = $this->results->fetch();
			return $data;
		}
		else
		{
			return false;
		}
	}

	public function finds($sql, $array=array())
	{
		$ok = $this->process($sql, $array);
		if ($ok)
		{
			$this->results->setFetchMode(PDO::FETCH_ASSOC);
			$data = $this->results->fetchAll();
			return $data;
		}
		else
		{
			return array();
		}
	}

	public function update($sql, $array=array())
	{
		$ok = $this->process($sql, $array);
		if ($ok === false)
			return -1;//执行出错返回-1
		else if ($ok)
			return $this->results->rowCount();
		else
			return 0;
	}

	public function insert($sql, $array=array())
	{
		$ok = $this->process($sql, $array);
		if ($ok)
		{
			$id = $this->pdo->lastInsertId();
			$id = $id ? $id : 1;
			return $id;
		}
		else
		{
			return false;
		}
	}

	public function delete($sql, $array=array())
	{
		$ok = $this->process($sql, $array);
		if ($ok === false)
			return -1;//执行出错返回-1
		else if ($ok)
			return $this->results->rowCount();
		else
			return 0;
	}

	public function query($sql, $array=array())
	{
		return $this->process($sql, $array);
	}

	private function process($sql, $array)
	{
		if (is_null($this->pdo))
			$this->connect();
		$this->results = $this->pdo->prepare($sql);
		//print_r($this->pdo->errorInfo());
		//print_r($this->results->errorInfo());
		return $this->results->execute($array);
	}

	private function connect()
	{
		try
		{
			$this->pdo = new PDO(&#39;mysql:host=&#39; . MYSQL_HOST . &#39;;port=&#39; . MYSQL_PORT . &#39;;dbname=&#39; . MYSQL_DATABASE . &#39;;charset=utf8&#39;, MYSQL_USERNAME, MYSQL_PASSWORD);
		}
		catch (PDOException $error)
		{
			$html = $error->getMessage();
			//SAE Mail to Master
			http503();
		}
	}
}

                   

                   

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.