我也贴出来自己的一个MYSQL连接类,原创,请指正!

mysql|原创

class dbLink            //数据库查询的类
{   var $dBaseLink;        //数据库连接指针
    var $dBase;
    
    function dbLink($base="")        //构造函数
                                      //$base 为选择数据库名称
  { $this->dBaseLink=@mysql_connect("host","user","password");
    if(!$this->dBaseLink) die($this->dbError("1"));
    if($base!="") $this->dbChange($base);

  }

    function dbClose()        //关闭数据库连接
  { mysql_close($this->dBaseLink);
  }

    function dbError($n,$sql="")    //输出错误信息,并退出程序
  {
    $dbErrorCode=array(
            1 => "不能连接到数据库",
            1004 => DB_ERROR_CANNOT_CREATE,
            1005 => DB_ERROR_CANNOT_CREATE,
            1006 => DB_ERROR_CANNOT_CREATE,
            1007 => "对象已经存在,不能完成创建操作",
            1008 => "不能完成删除操作",
            1046 => DB_ERROR_NODBSELECTED,
            1050 => DB_ERROR_ALREADY_EXISTS,
            1051 => DB_ERROR_NOSUCHTABLE,
            1054 => "所检索的字段不存在",
            1062 => DB_ERROR_ALREADY_EXISTS,
            1064 => DB_ERROR_SYNTAX,
            1100 => DB_ERROR_NOT_LOCKED,
            1136 => DB_ERROR_VALUE_COUNT_ON_ROW,
            1146 => "所检索的数据表不存在",
            1049 => "所选择的数据库不存在"
        );  
    echo "<div style='background-color:#dddddd;color:#000000;font-size:9pt;width=400' align=center>错误 $n :".$dbErrorCode[$n]."<BR>".$sql."</div>";
    
  }
    function dbChange($base)        //改变当前数据库
   {
       $this->dBase=$base;
       @mysql_select_db($base,$this->dBaseLink);
    if($msg=mysql_errno($this->dBaseLink)) die($this->dbError($msg));

   }

    function dbQuery($sql,$base="",$type=0)     //对指定数据库进行访问
                                                //$sql为SQL语句
                                                //$base为访问的数据库名,如果没有则使用上次使用的
                                                //$type为返回数组格式,0返回name=>value形式,1返回value格式
  { if($base!="" || $this->dBase!=$base) $this->dbChange($base);
    $result=@mysql_query($sql,$this->dBaseLink);
    if($msg=mysql_errno($this->dBaseLink)) die($this->dbError($msg,$sql));

    @$num=mysql_num_rows($result);
    if($num==0) $rtArray="";
      else {
        for($i=0;$i<$num;$i++)
          $rtArray[$i]=($type==0)?mysql_fetch_array($result):mysql_fetch_row($result);

       }
    @mysql_free_result($result);
    return $rtArray;
  }
  
    

    
    function dbCountRecords($table,$where="",$base="",$index="id")  //统计表中记录的数目
                                                //$table 操作的数据表名称
                                                //$where 完整的where子句
                                                //$base  操作的数据库名称
                                                //$index 操作所使用的索引字段
  { if($base!="" || $this->dBase!=$base) $this->dbChange($base);
    $result = mysql_query("select count(".$index.") as 'num' from $table ".$where,$this->dBaseLink);
    @$num = mysql_result($result,0,"num");
    @mysql_free_result($result);
    return $num;
  }

    function dbIo($sql,$base="")                //无返回值的SQL操作,例如insert操作,返回新插入的id,update和delete无返回值
  { if($base!="" || $this->dBase!=$base) $this->dbChange($base);
    $result=@mysql_query($sql,$this->dBaseLink);
    @mysql_free_result($result);
    return mysql_insert_id($this->dBaseLink);

  }
    
    function dbFieldList($table,$base)                //字段信息列表
  { $pt = @mysql_list_fields($base,$table);
    if($msg=mysql_errno($this->dBaseLink)) die($this->dbError($msg));
    $n=mysql_num_fields($pt);
    for($i=0;$i<$n;$i++) {
    $name    =    mysql_field_name($pt,$i);
    $type    =    mysql_field_type($pt,$i);
    $len    =    mysql_field_len($pt,$i);
    $rt[$i]=array("name" => $name,                //字段名称
                  "type" => $type,                //字段类型
                  "len"     => $len);                //字段长度
    }
    return $rt;
  }
  
    function dbTableList($basename)                //数据库basename的表信息
  {
    $result=mysql_list_tables($basename,$this->dBaseLink);
    $rt=mysql_fetch_array($result);
    @mysql_free_result($result);
    return $rt;
  }
    
}

时间: 2025-01-02 14:16:06

我也贴出来自己的一个MYSQL连接类,原创,请指正!的相关文章

自己编了一个mysql类。请指正

mysql 文件名mysql.class.php<?//###################### Start Introduce #######################################// mysql连接类// author: bluemaple , emaile: bluemaple@x263.net// 可以执行一般mysql命令,如insert,delete,select,update// 使用方法:在需要的文件前面加入// require("./mysq

记录一个mysql连接慢的问题

问题现象是这样的: 我在一台机器上(61.183.23.23)启动了一个mysql,然后开通一个账号可以从127.0.0.1或者从61.183.23.23访问.但是遇到一个问题就是使用下面两个命令行访问的时候,速度差别非常大: mysql –h 127.0.0.1 –u user mysql –h 61.183.23.23 –u user   然后我使用ping,判断两个IP的速度差不多. 使用127.0.0.1的IP速度比另一个快太多了.虽然说这里的61.183.23.23需要去外网走一圈,但

深入理解php的MySQL连接类_php技巧

无意间在电脑里发现还有这么个Mysql的连接类,也不记得哪里收藏的了,贴上来吧.后面几个show_databases和show_tables....等方法都用了一堆echo,好像一直不喜欢在类的方法里直接用输出语句,不过这也只是列举数据库和表名,构造函数的参数也可以给个默认值吧. 复制代码 代码如下: <?php/** filename:mysql数据库连接类*/class mysql{ private $db_host;  //数据库主机 private $db_user;  //数据库用户名

一个MYSQL操作类_php技巧

复制代码 代码如下: <?php class DB{     var $host_addr = "localhost"; var $host_user = "root"; var $host_psw  = "123"; var $db_name   = "test"; var $link_id; var $query_id; var $numRow; function DB(){      $this->link_

mysql-求一个Mysql语句 查询出当前周的数据按照天分组

问题描述 求一个Mysql语句 查询出当前周的数据按照天分组 SELECT DATE_FORMAT(uploadTime_beg%Y-%m-%d"") as time SUM(field01) as sumStatus1 SUM(field02) as sumStatus2 SUM(field03) as sumStatus3 SUM(field04) as sumStatus4 SUM(field05) as sumStatus5 FROM health_realdata WHERE

一个PHP MySQL操作类...

<?php /** * MySQL 数据库操作工具类, 方便数据库操作. * 示例见底部注释. * @author: http://www.ideawu.net/blog/ */ class Mysql{ var $conn; var $query_list = array(); public $query_count = 0; public function __construct($c){ if(!isset($c['port'])){ $c['port'] = '3306'; } $ser

并发-请教一个mysql批量更新时的deadlock问题?

问题描述 请教一个mysql批量更新时的deadlock问题? 数据是mysql 5.6 表引擎是innoDB,DAO是mybatis3 有个表,比如是订单-物品表,里面保存每个订单的所有物品清单 字段有:record_id(记录id,自增长),order_id(订单id),good_id(物品id)等其他字段.. 有个数据同步的业务场景 需要在一个事务里 先根据order_id做删除操作,delete from xxx where order_id=xx 然后再批量增加订单-物品清单inser

Linux有问必答:如何通过命令行创建和设置一个MySQL用户

Linux有问必答:如何通过命令行创建和设置一个MySQL用户 问题:我想要在MySQL服务器上创建一个新的用户帐号,并且赋予他适当的权限和资源限制.如何通过命令行的方式来创建并且设置一个MySQL用户呢? 要访问一个MySQL服务器,你需要使用一个用户帐号登录其中方可进行.每个MySQL用户帐号都有许多与之相关连的属性,例如用户名.密码以及权限和资源限制."权限"定义了特定用户能够在MySQL服务器中做什么,而"资源限制"为用户设置了一系列服务器资源的使用许可.创

mysql语法错误-请教一个mysql创建查询表问题

问题描述 请教一个mysql创建查询表问题 create table student(stuId int(10) not null auto_increment primary key comment '主键',stuNum varchar(50) default null comment '学号',stuName varchar(50) default null comment '名字',stuPwd varchar(25) default null comment '密码',stuSex v