封装了对MySQL数据库操作的系列类(一)
本程序包的类说明如下:

TDatabase
处理与Mysql数据库连接的类

TQuery
处理 SQL 查询的类

TSelectQuery
处理SELECT查询的类(是TQuery的派生)

TTable
处理表(是 TSelectQuery 的派生)

TFieldDef
封装了字段的属性

TField
TFieldDef 的派生

TTableDef
封装了表的定义

//*****************************************

<?
    $__TDATABASE__
=True;
    
    class 
TDatabase
    
{
        var 
$m_host;
        var 
$m_port;
        var 
$m_user;
        var 
$m_password;
        var 
$m_name;
        var 
$m_link;
        
        function 
err()
        {
//            return "<div style=" font-family: Arial, Helvetica, sans-serif; font-size: 10pt; font-style: normal; color: Red; font-weight: bold">Error " . mysql_errno($this->m_link) . ": " . mysql_error($this->m_link) . " on " . __FILE__ . " line " . __LINE__ . "</div>";
        
}
        
        function 
TDatabase($host="",$port=3306,$user="root",$password="",$name="")
        {
            
$this->m_host=$host;
            
$this->m_port=$port;
            
$this->m_user=$user;
            
$this->m_password=$password;
            
$this->m_name=$name;
            
$this->m_link=mysql_pconnect("$this->m_host:$this->m_port",$this->m_user,$this->m_password) or die($this->err());
            
mysql_select_db($this->m_name$this->m_link) or die($this->err());            
        }
        
        function 
query($SQL)
        {
//            echo $SQL;
            
$result=mysql_query($SQL,$this->m_link) or die($this->err());
            return 
$result;
        }
        
        function 
fetch_array($result)
        {
            
$row=mysql_fetch_array($result);
            return 
$row;
        }
        
        function 
fetch_row($result)
        {
            
$row=mysql_fetch_row($result);
            return 
$row;
        }
        
        function 
fetch_object($result)
        {
            
$row=mysql_fetch_object($result);
            return 
$row;
        }
        
        function 
free_result($result)
        {
            return 
mysql_free_result($result) or die($this->err());
        }
        
        function 
num_rows($result)
        {
            
$result=mysql_num_rows($result);
            return 
$result;
        }
        
        function 
affected_rows()
        {
            
$result=mysql_affected_rows($this->m_link);
            return 
$result;
        }
    }
?>