PHP 面向对象的mysql数据库操作类功能实例
内容摘要
这篇文章主要为大家详细介绍了PHP 面向对象的mysql数据库操作类功能实例,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记。经测试代码如下
对此感兴趣的朋友,看看idc笔记做的技术笔记。经测试代码如下
文章正文
这篇文章主要为大家详细介绍了PHP 面向对象的mysql数据库操作类功能实例,具有一定的参考价值,可以用来参考一下。
对此感兴趣的朋友,看看idc笔记做的技术笔记。经测试代码如下:
<?php
/**
* mysql数据库操作类
*
* @param
* @arrange (www.idcnote.com)
**/
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;
}
}
注:关于PHP 面向对象的mysql数据库操作类功能实例的内容就先介绍到这里,更多相关文章的可以留意
代码注释