之前突然有个想法 模拟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> " ;
}
?>