PHP的数据库访问类,MYSQL的

还是说,PHP访问数据库的方法也有很多,每个开发框架也都有自己的方式

我在这里提出一种简便的方式,不依赖于开发框架,运行效率比较高

以下示例代码只对MYSQL有效,


<?php
/**
* 模块说明:公用函数库
* 包括
* dump函数
* Mysql类
*/
/**
  * 从FLEA中复制过来,用来输出变量以调试
  *
  * @param 任意类型 $vars
  * @param unknown_type $label
  * @param unknown_type $return
  * @return 无
*/

function dump($vars$label ''$return false)
{
     if (
ini_get('html_errors')) {
         
$content "<pre>\n";
         if (
$label != '') {
             
$content .= "<strong>{$label} :</strong>\n";
         }
         
$content .= htmlspecialchars(print_r($varstrue));
         
$content .= "\n</pre>\n";
     } else {
         
$content $label " :\n" print_r($varstrue);
     }
     if (
$return) { return $content; }
     echo 
$content;
     return 
null;
}
require_once(
'ui.php');//包含多语言处理

//本程序用到的数据库类
class Mysql{
  private 
$server;
  private 
$user;
  private 
$password;
  private 
$database;
  private 
$port;

  private 
$c;
  function 
InsertID(){
   return 
mysql_insert_id($this->connect);
  }
  function 
Mysql($db){
   
$this->server=$db['host'];
   
$this->user=$db['login'];
   
$this->password=$db['password'];
   
$this->database=$db['database'];
   
$this->port=$db['port'];
   
$this->Connect();
  }
  
//根据SQL语句返回一个字段的值
  //用法:$field=SQLSingle($sql);
  
function Single($sql){
   
$this->Connect();
   
$result=mysql_query($sql,$this->connect);
   
$this->Test($result,$sql);

   
$data=mysql_fetch_array($result);
   return 
$data[0];
  }

  
//从一条SQL语句中返回一条记录中的多个字段
  //用法:list($field1,$field2,...)=SQLMulti($sql,array('field1','field2',...));
  
function Multi($sql,$fields){
   
$this->Connect();
   
$result=mysql_query($sql,$this->connect);
   
$this->Test($result,$sql);

   
$data=mysql_fetch_array($result);
   
$a=array();
   for(
$i=0;$i<count($fields);$i++)$a[$i]=$data[$fields[$i]];
   return 
$a;
  }

  
//从一条SQL语句中返回N条记录的同一列
  
function Column($sql){
   
$this->Connect();
   
$table=$this->Table($sql);
   
$return=array();
   foreach(
$table as $row):
    
$return[]=$row[0];
   endforeach;
   return 
$return;
  }

  
//从一条SQL语句中返回一个表格
  
function Table($sql){
   
$this->Connect();
   
$table=array();
   
$result=mysql_query($sql,$this->connect);

   
$this->Test($result,$sql);

   while(
$data=mysql_fetch_array($result))
    
$table[]=$data;
   return 
$table;
  }

  
//返回SQL语句返回的数据行数
  
function Rows($sql){
   
$this->Connect();
   return 
mysql_num_rows(mysql_query($sql,$this->connect));
  }

  
//执行SQL语句
  
function Query($sql){
   
$this->Connect();
   
$return=mysql_query($sql,$this->connect);
   
$this->Test($return,$sql);
  }

  
//连接数据库
  
function Connect(){
   if(
$this->connect==null){
    
$this->c($this->server.":".$this->port,$this->user,$this->password);
    if(!
$this->connect){
     echo 
_T::connectError."\n";
     exit;
    }
    
mysql_select_db($this->database);
    
mysql_query("set character set utf8");
   }
  }

  
//显示错误信息
  
function Test($retcode,$sql){
   if(! 
$retcode ):
     echo 
_T::sqlError.":$sql\n";
   endif;
  }
}

<script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/buttonLite.js#style=-1&uuid=&pophcol=3&lang=zh"></script> <script type=text/javascript charset=utf-8 src="http://static.bshare.cn/b/bshareC0.js"></script>
阅读(235) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值