我自已做的用来访问数据库的类和函数

SimonDW 2002-09-24 10:37:58
<?
/*usage:

初始化数据库参数
$dbset = new Tdbset;
$dbset->init("数据库类型:,"数据服务器名/地址","用户名","密码");

打开数据库
opendb($dbset);
关闭数据库
closedb($dbset);

得到结果集id
$result=doquery($sql,$dbset);

提供fetch_array返回行数据
fetch_array($result);
fetch_array($result,$row);$row 行号。
*/
class Tdbset{
var $dbtype,$dbhost,$dbname,$dbuser,$dbpasswd,
$dblink;
function init($dbtype,$dbhost="",$dbname="",$dbuser,$dbpasswd)
{
$this->dbtype=$dbtype;
$this->dbhost=$dbhost;
$this->dbname=$dbname;
$this->dbuser=$dbuser;
$this->dbpasswd=$dbpasswd;
}
}
class TResult {
var $dbtype,$rid;
}
function opendb(&$dbset)
{
switch ($dbset->dbtype)
{
case "mysql":
$dbconn=@mysql_connect($dbset->dbhost,$dbset->dbuser,$dbset->dbpasswd);
@mysql_select_db($dbname,$dbconn);
if (!$dbconn) { return false; }
break;
case "odbc":
$dbconn=@odbc_connect($dbset->dbhost,$dbset->dbuser,$dbset->dbpasswd);
if (!$dbconn) { return false; }
break;
case "mssql":
$dbconn=@mssql_connect($dbset->dbhost,$dbset->dbuser,$dbset->dbpasswd);
echo $dbconn;
if (!$dbconn) { return false; }
break;
}
$dbset->dblink=$dbconn;

return true;
}
function do_query($sql,$dbset)
{
$result=new Tresult;
$result->dbtype=$dbset->dbtype;
switch($dbset->dbtype)
{
case 'mysql':
if (!$result->rid=@mysql_query($sql,$dbset->dblink)) { return false;}
break;
case 'mssql':
if (!$result->rid=@mssql_query($sql,$dbset->dblink)) { return false;}
break;
case 'odbc':
if (!$result->rid=@odbc_do($dbset->dblink,$sql)) { return false;}
break;
}
return $result;
}
function fetch_array($result,$row=0)
{
switch ($result->dbtype)
{
case 'mysql':
if ($row>0) mysql_data_seek($result->rid,$row);
if (!$arr=@mysql_fetch_array($result->rid))
{return false;}
break;
case 'mssql':
if ($row>0) mssql_data_seek($result->rid,$row);
if (!$arr=@mssql_fetch_array($result->rid))
{return false;}
break;
case 'odbc':
if (!($row>0?odbc_fetch_row($result->rid,$row):odbc_fetch_row($result->rid) ))
{
return false;
}
$arr=array();
for ($i=1;$i<= odbc_num_fields($result->rid); $i++)
{
$arr[odbc_field_name($result->rid,$i)]=odbc_result($result->rid,$i);
}
break;
}
return $arr;
}
function closedb($dbset)
{
switch ($dbset->dbtype)
{
case 'mysql':
mysql_close($dbset->dblink);
break;
case 'mssql':
mssql_close($dbset->dblink);
break;
case 'odbc':
odbc_close($dbset->dblink);
break;
}

}
...全文
33 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
SimonDW 2002-09-26
  • 打赏
  • 举报
回复
各位来说说自己习惯用哪些函数来处理数据库
xizi2002 2002-09-26
  • 打赏
  • 举报
回复
up
SimonDW 2002-09-25
  • 打赏
  • 举报
回复
自己写不是为了bug少,而是要适合自己的使用习惯。
我觉得php数据库调用还是统一的语法最好。
shishi99 2002-09-24
  • 打赏
  • 举报
回复
不错,可以自己写.不过我习惯在网一找现成的,网上有很多现成的源码,为何不充分利用资源.
delfans 2002-09-24
  • 打赏
  • 举报
回复
写得不错呀 :)
ProgramCobra 2002-09-24
  • 打赏
  • 举报
回复
写的很好
anziqi 2002-09-24
  • 打赏
  • 举报
回复
up
cnnps 2002-09-24
  • 打赏
  • 举报
回复
自己写的BUG少呀。。。

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧