• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

面向对象的mysql数据库操作php类

PHP 水墨上仙 1801次浏览

面向对象的mysql数据库操作php类

<?php
class database {
 
	var $host = NULL;
	var $username = NULL;
	var $password = NULL;
	var $databaseName = NULL;
	var $link = NULL;
	var $queries = NULL;
	var $errors = NULL;
 
	var $databaseExtras = NULL;
 
	function __construct($host, $username, $password, $database) {
		$this->database($host, $username, $password, $database);
	}
 
	function database($host, $username, $password, $database) {
		/*$this->database = array (
				"host" => $host,
				"username" => $username,
				"password" => $password,
				"database" => $database,
				"link" => "",
				"queries" => array (),
				"errors" => array ()
			);*/
 
		$this->host = $host;
		$this->username = $username;
		$this->password = $password;
		$this->databaseName = $database;
		$this->link = "";
		$this->queries = array ();
		$this->errors = array ();
 
		$this->databaseExtras = new stdClass;
 
		$this->link = mysql_connect($this->host, $this->username, $this->password) or die("Could not connect to Database");
		mysql_select_db($this->databaseName);
	}
 
	function justquery($sql) {
		$this->queries[] = $sql;
		return mysql_query($sql, $this->link);
	}
 
	function loadResult($sql) {
		if (!($cur = $this->justquery($sql))) {
			return null;
		}
		$ret = null;
		if ($row = mysql_fetch_row( $cur )) {
			$ret = $row[0];
		}
		mysql_free_result( $cur );
		return $ret;
	}
 
	function loadFirstRow($sql) {
		if (!($cur = $this->justquery($sql))) {
			return null;
		}
		$ret = null;
		if ($row = mysql_fetch_object( $cur )) {
			$ret = $row;
		}
		mysql_free_result( $cur );
		return $ret;
	}
 
	function insertid() {
		return mysql_insert_id( $this->link );
	}
 
	function query($sql, $key = "", $returns = true, $batch = false) {
		$result = array ();
 
		switch ($batch) {
			default:
			case true:
				foreach ($sql as $index => $query) {
					$this->queries[] = $query;
					$answer = mysql_query($query, $this->link);
 
					if (!$answer) {
						$this->errors[] = mysql_error($this->link);
					}
					else {
						if ($returns != false) {
							if (mysql_num_rows($answer) > 0){
								while ($row = mysql_fetch_object($answer)) {
									if ($key != ""){
										$result[$index][$row->$key] = $row;
									}
									else {
										$result[$index][] = $row;
									}
								}
							} else {}
						} else {}
					}
				}
				break;
 
			case false:
				$this->queries[] = $sql;
				$answer = mysql_query($sql, $this->link);
 
				if (!$answer) {
					$this->errors[] = mysql_error($this->link);
					$result = false;
				}
				else {
					if ($returns != false) {
						if (mysql_num_rows($answer) > 0){
							while ($row = mysql_fetch_object($answer)) {
								if ($key != ""){
									$result[$row->$key] = $row;
								}
								else {
									$result[] = $row;
								}
							}
						} else {}
					}
					else {
						$result = true;
					}
				}
				break;
		}
 
		return $result;
	}
 
	function loadObject( $sql, &$object ) {
		if ($object != null) {
			if (!($cur = $this->justquery($sql))) {
				return false;
			} else {}
			if ($array = mysql_fetch_assoc( $cur )) {
				mysql_free_result( $cur );
				$this->bindArrayToObject( $array, $object);
				return true;
			}
			else {
				return false;
			}
		}
		else {
			if ($cur = $this->justquery($sql)) {
				if ($object = mysql_fetch_object( $cur )) {
					mysql_free_result( $cur );
					return true;
				}
				else {
					$object = null;
					return false;
				}
			}
			else {
				return false;
			}
		}
	}
 
	function bindArrayToObject( $array, &$obj) {
		if (!is_array( $array ) || !is_object( $obj )) {
			return (false);
		}
 
		foreach (get_object_vars($obj) as $k => $v) {
			if( substr( $k, 0, 1 ) != '_' ) {
				$ak = $k;
				if (isset($array[$ak])) {
					$obj->$k = $array[$ak];
				}
			}
		}
 
		return true;
	}
 
	function formatCSVCell($data) {
		$useQuotes = false;
 
		$quotable = array (
				"\"" => "\"\"",
				"," => ",",
				"\n" => "\n"
			);
 
		foreach ($quotable as $char => $repl) {
			if (eregi($char, $data)) {
				$useQuotes = true;
			} else {}
		}
 
		if ($useQuotes == true) {
			foreach ($quotable as $char => $repl) {
				$data = str_replace($char, $repl, $data);
			}
 
			$data = "\"" . $data . "\"";
		}
		else {
 
		}
 
		return $data;
	}
}
?>


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明面向对象的mysql数据库操作php类
喜欢 (0)
加载中……