一个简单的数据库类
<?php
//------------------------------------------------------------------------------------------
// ※Database() 构造函数,数据库初始参数
// ※Select() 查询
// ※GetRows() 返回查询的记录总数
// ※Insert() 插入记录
// ※Update() 更新
// ※Delete() 删除
// ※Halt() 中断并显示错误信息*/
//------------------------------------------------------------------------------------------
define("DATABASETYPE","1"
//定义数据库类型:1为MySql;2为SQL Server;3为Oracle;4为Odbc
define("SERVER","localhost"
//Host name or IP address of the database server
define("DATABASE","dbName"
//要连接的数据库名
define("USER","tableName"
//用于连接数据库的用户名
define("PASSWORD","paswd"
//用于连接数据库的密码
class Database
{
var $dbLink; //连接句柄
var $result; //查询句柄
var $insId; //Insert()成功返回AUTO_INCREMENT列的值
var $rows; //返回数据数组
var $numRows; //返回数据数目
var $dbHost, $dbUser, $userPassword, $database;
var $dbType=DATABASETYPE;
var $msgFlag = "yes" ; //yes:show the Mysql message ; no: die by show "Halted."
function Database($dbHost=SERVER,$dbUser=USER,$userPassword=PASSWORD,$database=DATABASE)
{
switch($this->dbType)
{
case 1:
$this->dbLink=@mysql_pconnect($dbHost,$dbUser,$userPassword
// or die("Can''t Connect to Remote Host!"
@mysql_select_db($database,$this->dbLink
// or die ("Can''t Connect to Remote Host!"
break;
case 2:
break;
}
return true;
}
/*SQL:Select() 返回为false无结果*/
function Select($table,$columns,$condition=1)
{
$sql="select $columns from $table where $condition ";
//echo $sql."<br>";
$this->result=@mysql_query($sql,$this->dbLink
unset($this->rows
if($this->result)
{
$i=0;
if(!($this->rows=array("$i"=>@mysql_fetch_array($this->result))))
return false;
if(($this->numRows=@mysql_num_rows($this->result))==0)
return false;
while($tempRows=@mysql_fetch_array($this->result))
{
array_push($this->rows,$tempRows
}
}
else
{
$this->Halt($sql
return false;
}
return true;
}
/*SQL:GetRows() 返回查询的记录总数*/
function GetRows($table,$condition=1)
{
$sql="select count(1) as count from $table where $condition";
//echo $sql."<br>";
$this->result=@mysql_query($sql,$this->dbLink
if($this->result)
{
$temp=@mysql_fetch_array($this->result
$this->numRows=$temp[count];
}
else
{
$this->Halt($sql
return false;
}
return $this->numRows;
}
/*SQL:Insert()*/
function Insert($table,$columns,$values)
{
$sql="insert into $table ($columns) values ($values)";
//echo $sql;
$this->result=@mysql_query($sql,$this->dbLink
if ($this->result)
$this->insId=@mysql_insert_id($this->dbLink
else
{
$this->Halt($sql
return false;
}
return true;
}
/*SQL:Update()*/
function Update($table,$setings,$condition)
{
$sql="update $table set $setings where $condition";
//echo $sql;
$this->result=@mysql_query($sql,$this->dbLink
if ($this->result)
$this->numRows=@mysql_affected_rows($this->result
else
{
$this->Halt($sql
return false;
}
return true;
}
/*SQLelete*/
function Delete($table,$condition)
{
$sql="delete from $table where $condition";
$this->result=@mysql_query($sql,$this->dbLink
if ($this->result)
$this->numRows=@mysql_affected_rows($this->result
else
{
$this->Halt($sql
return false;
}
return true;
}
/*Halt():error message */
function Halt($msg)
{
if($this->msgFlag=="yes")
{
printf("<b>Database Query Error:</b> %s<br>\\n", $msg
printf("<b>MySql Error:</b> %s<br>\\n",mysql_error()
}
else
echo "<META HTTP-EQUIV=REFRESH CONTENT=''0;URL=../include/error.htm''>";//自定一个出错提示文件
return false;
}
}
switch($db->dbType)
{
case 1:
@mysql_close(
break;
case 2:
break;
}
$db = new Database(
?>
//------------------------------------------------------------------------------------------
// ※Database() 构造函数,数据库初始参数
// ※Select() 查询
// ※GetRows() 返回查询的记录总数
// ※Insert() 插入记录
// ※Update() 更新
// ※Delete() 删除
// ※Halt() 中断并显示错误信息*/
//------------------------------------------------------------------------------------------
define("DATABASETYPE","1"
//定义数据库类型:1为MySql;2为SQL Server;3为Oracle;4为Odbc
define("SERVER","localhost"
//Host name or IP address of the database server
define("DATABASE","dbName"
//要连接的数据库名
define("USER","tableName"
//用于连接数据库的用户名
define("PASSWORD","paswd"
//用于连接数据库的密码
class Database
{
var $dbLink; //连接句柄
var $result; //查询句柄
var $insId; //Insert()成功返回AUTO_INCREMENT列的值
var $rows; //返回数据数组
var $numRows; //返回数据数目
var $dbHost, $dbUser, $userPassword, $database;
var $dbType=DATABASETYPE;
var $msgFlag = "yes" ; //yes:show the Mysql message ; no: die by show "Halted."
function Database($dbHost=SERVER,$dbUser=USER,$userPassword=PASSWORD,$database=DATABASE)
{
switch($this->dbType)
{
case 1:
$this->dbLink=@mysql_pconnect($dbHost,$dbUser,$userPassword
// or die("Can''t Connect to Remote Host!"
@mysql_select_db($database,$this->dbLink
// or die ("Can''t Connect to Remote Host!"
break;
case 2:
break;
}
return true;
}
/*SQL:Select() 返回为false无结果*/
function Select($table,$columns,$condition=1)
{
$sql="select $columns from $table where $condition ";
//echo $sql."<br>";
$this->result=@mysql_query($sql,$this->dbLink
unset($this->rows
if($this->result)
{
$i=0;
if(!($this->rows=array("$i"=>@mysql_fetch_array($this->result))))
return false;
if(($this->numRows=@mysql_num_rows($this->result))==0)
return false;
while($tempRows=@mysql_fetch_array($this->result))
{
array_push($this->rows,$tempRows
}
}
else
{
$this->Halt($sql
return false;
}
return true;
}
/*SQL:GetRows() 返回查询的记录总数*/
function GetRows($table,$condition=1)
{
$sql="select count(1) as count from $table where $condition";
//echo $sql."<br>";
$this->result=@mysql_query($sql,$this->dbLink
if($this->result)
{
$temp=@mysql_fetch_array($this->result
$this->numRows=$temp[count];
}
else
{
$this->Halt($sql
return false;
}
return $this->numRows;
}
/*SQL:Insert()*/
function Insert($table,$columns,$values)
{
$sql="insert into $table ($columns) values ($values)";
//echo $sql;
$this->result=@mysql_query($sql,$this->dbLink
if ($this->result)
$this->insId=@mysql_insert_id($this->dbLink
else
{
$this->Halt($sql
return false;
}
return true;
}
/*SQL:Update()*/
function Update($table,$setings,$condition)
{
$sql="update $table set $setings where $condition";
//echo $sql;
$this->result=@mysql_query($sql,$this->dbLink
if ($this->result)
$this->numRows=@mysql_affected_rows($this->result
else
{
$this->Halt($sql
return false;
}
return true;
}
/*SQLelete*/
function Delete($table,$condition)
{
$sql="delete from $table where $condition";
$this->result=@mysql_query($sql,$this->dbLink
if ($this->result)
$this->numRows=@mysql_affected_rows($this->result
else
{
$this->Halt($sql
return false;
}
return true;
}
/*Halt():error message */
function Halt($msg)
{
if($this->msgFlag=="yes")
{
printf("<b>Database Query Error:</b> %s<br>\\n", $msg
printf("<b>MySql Error:</b> %s<br>\\n",mysql_error()
}
else
echo "<META HTTP-EQUIV=REFRESH CONTENT=''0;URL=../include/error.htm''>";//自定一个出错提示文件
return false;
}
}
switch($db->dbType)
{
case 1:
@mysql_close(
break;
case 2:
break;
}
$db = new Database(
?>