之前突然有個想法 模擬ADODB中的 fields[]來顯示字段

 之前突然有個想法 模擬ADODB中的 fields[]來顯示字段.

列:$db->fields['cc'];

然後自己嘗試寫個類 可以實現了。。但是在遍歷記錄的時候 新變量不能變爲初始化類的變量 我就鬱悶了

只好先用這。。跑去論壇問了一下。沒人回。。哭

不說廢話了。。上代碼。。哪位高人看的話懇請指教指教

<?php
/**
 * file:class.db.php
 * @name ViDb
 * @author stefenjun
 * @version 1.2
 * @deprecated Db Class
 * 
*/
class Vidb {
    
private $dbhost;
    
private $dbuser;
    
private $dbpass;
    
private $dbname;
    
public $debug=0;
    
public $fields;
    
    
public function __construct(){
        
$this->dbhost=$dbhost;
        
$this->dbuser=$dbuser;
        
$this->dbpass=$dbpass;
        
$this->dbname=$dbname;
    }
    
protected function Msg($msg){
        
echo $msg;
    }
    
protected function Error(){
        
return mysql_error();
    }
    
public function Dbconnect($dbhost,$dbuser,$dbpass,$dbname){
        
if (!@mysql_pconnect($dbhost,$dbuser,$dbpass,$dbname)){
            
$this->Msg("無法連接數據庫主機!</p>".$this->Error());exit;
        }
        
if (!@mysql_select_db($dbname)){
            
$this->Msg("無法選擇數據庫!</p>".$this->Error());exit;
        }
    }
    
public function Query($sqlstr){
        
if ($this->debug==1){
            
echo "$sqlstr<hr>";
        }

        
return mysql_query($sqlstr);
    }
    
public function Fetch_Assoc($query){
        
return $this->fields=mysql_fetch_assoc($query);
    }
    
public function Fetch_Array($query){
        
return $this->fields=mysql_fetch_array($query);
    }
    
public function Num_rows($query){
        
return mysql_num_rows($query);
    }
    
public function Fetch_Row($query){
        
return mysql_fetch_row($query);
    }
    
public function Fetch_Object($query){
        
return mysql_fetch_object($query);
    }
    
public function Dataselect($table,$param=''){
        
$sql="select * from $table where 1";
        
if (!empty($param)) $sql.=" and $param";
        
$query=$this->Query($sql);
        
$this->fields=$this->Fetch_Assoc($query);
        
return $this->fields;
    }
    
public function DataCount($table,$param=''){
        
$sql="select count(*) as num from $table where 1";
        
if (!empty($param)) $sql.=" and $param";
        
$query=$this->Query($sql);
        
$this->fields=$this->Fetch_Assoc($query);
        
return $this->fields['num'];
    }
}
?>

 

成員中 public $debug;是調試信息 爲1時 執行SQL語句時會返回SQL語句

要想達到ADODB的效果還。。。汗*_!

 

<?
$sql="select field from table";
$query=$db->Query($sql);
while($db->Fetch_Assoc($query)){
    
echo $db->fields['cc']."</p>";
}
?>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章