+ -
当前位置:首页 → 问答吧 → 数据库连接类(包括删除,添加,修改)

数据库连接类(包括删除,添加,修改)

时间:2008-06-20

来源:互联网

大家好,这是小虾写的数据库连接类,里面可能有些不足之处.望请大家评论~现在的程序是没有错的

还有个自己认为写的不好的地方,就是这样开启和关闭数据库太频繁了,我本来想在method这个下面再加个mysql_close方法,随时调用关闭数据库,可是上面的$connect值就是传不下来,请大虾们帮下忙,怎么才能新建mysql_close方法,让程序效率高些.

我是这样写的,可是会出错,于是就按现在的样子发布了
在method方法下新建个function myclose(){mysql_close($connect);}

大家测试的时候参数要自己改下

作者: chchenha   发布时间: 2008-06-19

顶一下楼主 你把$connect设成成员变量试试

作者: 月黑风高   发布时间: 2008-06-19

是用mysql_close($this->connect)这样吗,还是不行的,我刚开始接触用类写东西哦,要不你把改好的放在下面。

作者: chchenha   发布时间: 2008-06-20

友情帮订~~~UP~

作者: guanle   发布时间: 2008-06-20

将connect.class.php改成这样
细节自己修改
复制PHP内容到剪贴板
PHP代码:

<?php
class mydb{
var $host;
var $user;
var $pwd;
public $connect;

function dbconnect($db,$fs)
{
  require_once('config.inc.php');
  $this->host=host;
  $this->user=user;
  $this->pwd=pwd;
  
  if($db=="")
  {
   die("缺少数据库");
  }
  if($fs==1)
  {
  $this->connect=mysql_pconnect($this->host,$this->user,$this->pwd) or die("数据库连接不上:".mysql_error())."<br>";
  }
  else
  {
  $this->connect=mysql_connect($this->host,$this->user,$this->pwd) or die("数据库连接不上:".mysql_error())."<br>";
  }
  mysql_select_db($db,$this->connect) or die("数据库连接出错,请检查你连接的数据库是否存在");
  mysql_query("set names GB2312");
}
}
class method extends mydb{
function __construct($db,$fs)
{
  parent::dbconnect($db,$fs);
}
function selectdb($s_field,$s_table,$s_condition)
{
  $sql="select ".$s_field." from ".$s_table." where ".$s_condition;
  $res=mysql_query($sql);
  while($array=mysql_fetch_array($res))
  {
   $result['select'][]=$array;
  }
  if($result['error']=mysql_error()!="")
  {
   die($sql.'<br><br>'.mysql_error());
  }
  $result['row']=mysql_num_rows($res);
  return $result;  
}

function updatedb($u_table,$u_field,$u_condition)
{
  $sql="update ".$u_table." set ".$u_field." where ".$u_condition;
  $res=mysql_query($sql);
  if($result['error']=mysql_error()!="") 
  {
   die($sql.'<br><br>'.mysql_error());
  }
  $result['affect']=mysql_affected_rows();
  return $result;
}

function insertdb($i_table,$i_field1,$i_field2)
{
$sql="insert into ".$i_table."(".$i_field1.")"." values "."(".$i_field2.")";
$res=mysql_query($sql);
if($result['error']=mysql_error()!="")
{
  die($sql.'<br><br>'.mysql_error());
}
$result['affect']=mysql_affected_rows();
$result['id']=mysql_insert_id();
return $result;
}

function deletedb($d_table,$d_condition) 
{
  $sql="delete from ".$d_table." where ".$d_condition;
  $res=mysql_query($sql);
  if($result[error]=mysql_error()!="")
  {
   die($sql.'<br><br>'.mysql_error());
  }
  $result['affect']=mysql_affected_rows();
  return $result;
}

function mysql_close()
{
  mysql_close($this->connect);
}
}
?>

调用方法是
复制PHP内容到剪贴板
PHP代码:
include_once('connect.class.php');
$con=new method('数据库名',1);
$con->mysql_close();

测试通过~~

[ 本帖最后由 guanle 于 2008-6-20 10:26 编辑 ]

作者: guanle   发布时间: 2008-06-20

首先感谢楼上乐乐同学的指点,现在发布我改善后的程序

欢迎大家指点~

作者: chchenha   发布时间: 2008-06-20