之前突然有個想法 模擬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'];
}
}
?>
/**
* 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>";
}
?>
$sql="select field from table";
$query=$db->Query($sql);
while($db->Fetch_Assoc($query)){
echo $db->fields['cc']."</p>";
}
?>