动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
  
   PHP → 阅读文章

 自己编了一个mysql类

作者来源: 
阅读 1157 人次 , 2006-3-29 4:17:00 


文件名mysql.class.php
<?
//###################### start introduce #######################################
// mysql连接类
// author: bluemaple , emaile: bluemaple@x263.net
// 可以执行一般mysql命令,如insert,delete,select,update
// 使用方法:在需要的文件前面加入
// require("./mysql.class.php");
// $db=new db_mysql; // 加载类
// $db->dbserver="localhost";  // 连接数据库地址
// $db->dbuser="root"; // 用户名
// $db->dbpwd="";  // 密码
// $db->dbdatabase="we"; // 数据库名称
// $db->connect();  // 连接数据库
// 使用中可以更改数据库
// 可以用到的函数说明
// query($sql,$dbbase);  // 可以直接执行
// query_first($sql,$dbbase);  // 查询返回只有一条记录,$sql为sql语句,$dbbase为你选者数据库(可以不要)
// fetch_array($sql,$dbbase);  // 查询返回一组记录,可以用num_rows得到返回的数字
// insert,update,delete 皆为执行命令,其中可用$affected_rows;得到返回的数目
// 在insert时,可以用insert_id得到插入结果的返回id数
// count_records($table,$index,$where,$dbbase)// 为得到一个表记录的数目,$table为表名,$index为key,$where为条件,$dbbase为数据库,后两个可以不选
//####################### end introduce ########################################

class db_mysql // 数据库mysql查询的类
{  
var $dbserver; // 数据库连接服务地址
var $dbdatabase; // 所选择的数据库,初始状态
var $dbbase="";  // 后面可以改变的
var $dbuser; // 登陆用户名
var $dbpwd;  // 登陆用户密码
var $dblink; // 数据库连接指针
var $query_id; // 执行query命令的指针
var $num_rows; // 返回的条目数
var $insert_id;  // 传回最后一次使用 insert 指令的 id
var $affected_rows;  // 传回query命令所影响的列数目
// insert、update 或 delete 所影响的列 (row) 数目。
// delete 如果不带where,那么则返回0
 
function connect($dbbase="") // 连接数据库函数,包括连接数据库
{
 global $usepconnect;  // 是否采用永久连接,$userpconnect在外部设置。
 if ($usepconnect==1){
$this->dblink=@mysql_pconnect($this->dbserver,$this->dbuser,$this->dbpwd);
} else {
$this->dblink=@mysql_connect($this->dbserver,$this->dbuser,$this->dbpwd);
}
if(!$this->dblink) $this->halt("连接出错,无法连接!!!");
if ($dbbase=="") {
$dbbase=$this->dbdatabase;
}
if(!mysql_select_db($dbbase, $this->dblink)) // 连接数据库
{ $this->halt("不能够用这个数据库,请检查这个数据库是否正确!!!");}
}

function change_db($dbbase=""){ // 改变数据库
$this->connect($dbbase);
}

function query_first($sql,$dbbase=""){ // 返回一个值的sql命令
$query_id=$this->query($sql,$dbbase);
$returnarray=mysql_fetch_array($query_id);
$this->num_rows=mysql_num_rows($query_id);
$this->free_result($query_id);
return $returnarray;
}

function fetch_array($sql,$dbbase="",$type=0){ // 返回一个值的sql命令
 // type为传递值是name=>value,还是4=>value
$query_id=$this->query($sql,$dbbase);
$this->num_rows=mysql_num_rows($query_id);
for($i=0;$i<$this->num_rows;$i++){
if($type==0)
$array[$i]=mysql_fetch_array($query_id);
else
$array[$i]=mysql_fetch_row($query_id);
}
$this->free_result($query_id);
return $array;
}

function delete($sql,$dbbase=""){ // 删除命令
$query_id=$this->query($sql,$dbbase);
$this->affected_rows=mysql_affected_rows($this->dblink);
$this->free_result($query_id);
}

function insert($sql,$dbbase=""){ // 插入命令
$query_id=$this->query($sql,$dbbase);
$this->insert_id=mysql_insert_id($this->dblink);
$this->affected_rows=mysql_affected_rows($this->dblink);
$this->free_result($query_id);
}

function update($sql,$dbbase=""){ // 更新命令
$query_id=$this->query($sql,$dbbase);
$this->affected_rows=mysql_affected_rows($this->dblink);
$this->free_result($query_id);
}

function count_records($table,$index="id",$where="",$dbbase=""){ // 记录总共表的数目
 // where为条件
 // dbbase为数据库
 // index为所选key,默认为id
if($dbbase!="") $this->change_db($dbbase);
$result=@mysql_query("select count(".$index.") as 'num' from $table ".$where,$this->dblink);
if(!$result) $this->halt("错误的sql语句: ".$sql);
@$num = mysql_result($result,0,"num");  
return $num;
}

function query($sql,$dbbase=""){  // 执行queyr指令
if($dbbase!="") $this->change_db($dbbase);
$this->query_id=@mysql_query($sql,$this->dblink);
echo "d";
if(!$this->query_id) $this->halt("错误的sql语句: ".$sql);
return $this->query_id;
}

function halt($errmsg) // 数据库出错,无法连接成功
{
$msg="<h3><b>数据库出错!</b></h3><br>";
$msg.=$errmsg;
echo $msg;
die();
}

function free_result($query_id) // 释放query选者
{
@mysql_free_result($query_id);
}

function close() //关闭数据库连接
{
mysql_close($this->dblink);
}
}
?>

以下是使用方法

text.php
<?
require("./mysql.class.php");
$db=new db_mysql;
$db->dbserver="localhost";
$db->dbuser="root";
$db->dbpwd="";
$db->dbdatabase="we";
$db->connect(); // 连接数据库
?>

 本文Tagsmysql  数据库  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:用PHP执行Oracle存储过程示例
· 下一篇:从MySQL导入导出大量数据的程序实现方法
· AJAX开发技术在PHP开发过程中的简单应用技巧
· 浅谈PHP语法(6)
· 十天学会php之第二天
· PHP中通过Web执行C/C++应用程序
· PHP出错界面


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077