我的 DataBase类
时间:2009-03-04
来源:互联网
[php]<?php
/**
* 数据库配置类
*/
class DBConfig
{
public static $HOST = 'localhost';
public static $USERNAME = 'root';
public static $PASSWORD = 'root';
public static $DATABASE = 'shopping';
public static $CHARSET = 'utf8';
}
?>[/php]
[php]<?php
/**
* 数据库操作类
*/
class DataBase{
private $connection;
/**
* 构造方法
* @access public
*/
public function __construct(){
$CONFIG = require(dirname(__FILE__).'/DBConfig.class.php');
$this->connection = mysql_connect(DBConfig::$HOST,DBConfig::$USERNAME,DBConfig::$PASSWORD);
mysql_select_db(DBConfig::$DATABASE);
mysql_query("SET NAMES '".DBConfig::$CHARSET."'");
}
/**
* 析构方法
* @access public
*/
public function __destruct(){
mysql_close($this->connection);
}
/**
* 执行SQL查询语句
* @access private
* @param string $p_sql 查询命令
* @return array 记录集,无记录返回空数组
*/
private function query($p_sql){
$dataTemp = mysql_query($p_sql,$this->connection);
$data = array();
$dataItem = 0;
while ($rows = mysql_fetch_assoc($dataTemp)) {
$data[$dataItem] = $rows;
$dataItem++;
}
return $data;
}
/**
* 执行SQL语句
* @access public
* @param string $p_sql 需要执行的SQL,可以为INSERT,SELECT,UPDATE或DELETE
* @return 如果SQL是SELECT,返回记录集,如果SQL是INSERT,返回新记录ID,如果SQL是UPDATE或DELETE,返回所影响的行数
*/
public function execute($p_sql){
$controlr = strtoupper(substr($p_sql,0,6));
switch ($controlr) {
case 'INSERT':
mysql_query($p_sql,$this->connection);
$result = mysql_insert_id($this->connection);
break;
case 'SELECT':
$result = $this->query($p_sql,$this->connection);
break;
default:
mysql_query($p_sql,$this->connection);
$result = mysql_affected_rows($this->connection);
break;
}
return $result;
}
}
?>[/php]
调用很简单:
$sql = '.....'; // 可以是任何增删改查的语句
$db = new DataBase();
$rs = $db->execute($sql);
$db = null;
请大家多多指教!
/**
* 数据库配置类
*/
class DBConfig
{
public static $HOST = 'localhost';
public static $USERNAME = 'root';
public static $PASSWORD = 'root';
public static $DATABASE = 'shopping';
public static $CHARSET = 'utf8';
}
?>[/php]
[php]<?php
/**
* 数据库操作类
*/
class DataBase{
private $connection;
/**
* 构造方法
* @access public
*/
public function __construct(){
$CONFIG = require(dirname(__FILE__).'/DBConfig.class.php');
$this->connection = mysql_connect(DBConfig::$HOST,DBConfig::$USERNAME,DBConfig::$PASSWORD);
mysql_select_db(DBConfig::$DATABASE);
mysql_query("SET NAMES '".DBConfig::$CHARSET."'");
}
/**
* 析构方法
* @access public
*/
public function __destruct(){
mysql_close($this->connection);
}
/**
* 执行SQL查询语句
* @access private
* @param string $p_sql 查询命令
* @return array 记录集,无记录返回空数组
*/
private function query($p_sql){
$dataTemp = mysql_query($p_sql,$this->connection);
$data = array();
$dataItem = 0;
while ($rows = mysql_fetch_assoc($dataTemp)) {
$data[$dataItem] = $rows;
$dataItem++;
}
return $data;
}
/**
* 执行SQL语句
* @access public
* @param string $p_sql 需要执行的SQL,可以为INSERT,SELECT,UPDATE或DELETE
* @return 如果SQL是SELECT,返回记录集,如果SQL是INSERT,返回新记录ID,如果SQL是UPDATE或DELETE,返回所影响的行数
*/
public function execute($p_sql){
$controlr = strtoupper(substr($p_sql,0,6));
switch ($controlr) {
case 'INSERT':
mysql_query($p_sql,$this->connection);
$result = mysql_insert_id($this->connection);
break;
case 'SELECT':
$result = $this->query($p_sql,$this->connection);
break;
default:
mysql_query($p_sql,$this->connection);
$result = mysql_affected_rows($this->connection);
break;
}
return $result;
}
}
?>[/php]
调用很简单:
$sql = '.....'; // 可以是任何增删改查的语句
$db = new DataBase();
$rs = $db->execute($sql);
$db = null;
请大家多多指教!
作者: helloworld1987 发布时间: 2009-03-04
看看呢 ~~


作者: sanfe 发布时间: 2009-03-04
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28