欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

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

程序员文章站 2022-04-06 10:21:52
...

通过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('mysql:host=' . MYSQL_HOST . ';port=' . MYSQL_PORT . ';dbname=' . MYSQL_DATABASE . ';charset=utf8', MYSQL_USERNAME, MYSQL_PASSWORD);
		}
		catch (PDOException $error)
		{
			$html = $error->getMessage();
			//SAE Mail to Master
			http503();
		}
	}
}