好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php连接mysql数据库操作类

这是一款比较全的mysql操作类,昨天写了一个简单的连接mysql数据库代码,相对于这个来说,那个是最简单的了,这个是一款包括数据查询,更新,删除,等操作,实例代码如下:

class  mysql{     private   $db_host ;  //数据库主机      private   $db_user ;  //数据库用户名      private   $db_pwd ;  //数据库密码      private   $db_database ;  //数据库名      private   $conn ;  //数据库连接标识;      private   $sql ;  //sql执行的语句      private   $result ;  //query的资源标识符      private   $coding ;  //数据库编码,gbk,utf8,gb2312      private   $show_error  = true;  //本地调试使用,打印错误      /**      * 构造函数      *      * @access public      * @parameter string $db_host   数据库主机      * @parameter string $db_user   数据库用户名      * @parameter string $db_pwd    数据库密码      * @parameter string $db_database   数据库名      * @parameter string $coding    编码      * @return void      */      public   function  __construct( $db_host ,  $db_user ,  $db_pwd ,  $db_database ,  $coding ){      $this ->db_host =  $db_host ;      $this ->db_user =  $db_user ;      $this ->db_pwd =   $db_pwd ;      $this ->db_database =  $db_database ;      $this ->coding =  $coding ;      $this ->connect();    }     /**      * 链接数据库      *      * @access private      * @return void      */      private   function  connect(){      $this ->conn = @mysql_connect( $this ->db_host, $this ->db_user, $this ->db_pwd);      if (! $this ->conn){       //show_error开启时,打印错误        if ( $this ->show_error){        $this ->show_error( '错误提示:链接数据库失败!' );      }     }      if (!@mysql_select_db( $this ->db_database,  $this ->conn)){       //打开数据库失败        if ( $this ->show_error){        $this ->show_error( '错误提示:打开数据库失败!' );      }     }      if (!@mysql_query( "set names $this->coding" )){       //设置编码失败        if ( $this ->show_error){        $this ->show_error( '错误提示:设置编码失败!' );      }     }    }     /**      * 可执行查询添加修改删除等任何sql语句      *      * @access public      * @parameter string $sql   sql语句      * @return resource  资源标识符      */      public   function  query( $sql ){      $this ->sql =  $sql ;      $result  = mysql_query( $this ->sql,  $this ->conn);      if (! $result ){       //query执行失败,打印错误        $this ->show_error( "错误的sql语句:" ,  $this ->sql);     } else {       //返回资源标识符        return   $this ->result =  $result ;     }    }     /**      * 查询mysql服务器中所有的数据库      *      * @access public      * @return void      */      public   function  show_databases(){      $this ->query( "show databases" );      //打印数据库的总数       echo   "现有数据库:"  . mysql_num_rows( $this ->result);      echo   "<br />" ;      $i  = 1;      //循环输出每个数据库的名称       while ( $row =mysql_fetch_array( $this ->result)){       echo   "$i $row[database]"  .  "<br />" ;       $i ++;     }    }     /**      * 查询数据库下所有表名      *      * @access public      * @return void      */      public   function  show_tables(){      $this ->query( "show tables" );      //打印表的总数       echo   "数据库{$this->db_database}共有"  . mysql_num_rows( $this ->result) .  "张表:" ;      echo   "<br />" ;      //构造数组下标,循环出数据库所有表名       $column_name  =  "tables_in_"  .  $this ->db_database;      $i  = 1;      //循环输出每个表的名称       while ( $row =mysql_fetch_array( $this ->result)){       echo   "$i $row[$column_name]"  .  "<br />" ;       $i ++;     }    }     /**      * 取得记录集,获取数组-索引和关联      *       * @access public      * @return void      */      public   function  fetch_array(){      return  mysql_fetch_array( $this ->result);    }     /**      * 简化select查询语句      *      * @access public      * @parameter string $table  表名      * @parameter string $field  字段名      * @return resource      */      public   function  findall( $table ,  $field  =  '*' ) {      return   $this ->query( "select $field from $table" );    }     /**      * 简化delete查询语句      *      * @access public      * @parameter string $table    表名      * @parameter string $condition  查询的条件      * @return resource      */      public   function   delete ( $table ,  $condition ) {      return   $this ->query( "delete from $table where $condition" );    }     /**      * 简化insert插入语句      *      * @access public      * @parameter string $table  表名      * @parameter string $field  字段名      * @parameter string $value  插入值      * @return resource      */      public   function  insert( $table ,  $field ,  $value ) {      return   $this ->query( "insert into $table ($field) values ('$value')" );    }     /**      * 简化update插入语句      *      * @access public      * @parameter string $table      表名      * @parameter string $update_content  更新的内容      * @parameter string $condition    条件      * @return resource      */      public   function  update( $table ,  $update_content ,  $condition ) {      return   $this ->query( "update $table set $update_content where $condition" );    }     /**      * 取得上一步 insert 操作产生的 id      *      * @access public      * @return integer      */      public   function  insert_id() {      return  mysql_insert_id();    }     /**      * 计算结果集条数      *      * @access public      * @return integer      */      public   function  num_rows() {      return  mysql_num_rows( $this ->result);    }     /**      * 查询字段数量和字段信息      *      * @access public      * @parameter string $table  表名      * @return void      */      public   function  num_fields( $table ) {      $this ->query( "select * from $table" );      echo   "<br />" ;      //打印字段数       echo   "字段数:"  .  $total  = mysql_num_fields( $this ->result);      echo   "<pre>" ;      //mysql_fetch_field() 函数从结果集中取得列信息并作为对象返回。       for  ( $i  = 0;  $i  <  $total ;  $i ++) {      print_r(mysql_fetch_field( $this ->result,  $i ));     }      echo   "</pre>" ;      echo   "<br />" ;    }     /**      * 输出sql语句错误信息      *      * @access public      * @parameter string $message 提示信息      * @return void      */      public   function  show_error( $message = '' , $sql = '' ){      echo   "<fieldset>" ;      echo   "<legend>错误信息提示:</legend><br />" ;      echo   "<div style='font-size:14px; clear:both; font-family:verdana, arial, helvetica, sans-serif;'>" ;      //打印错误原因       echo   "错误原因:"  . mysql_error() .  "<br /><br />" ;      //打印错误信息       //mysql_error() 函数返回上一个 mysql 操作产生的文本错误信息。       echo   "<div style='height:20px; background:#ff0000; border:1px #ff0000 solid'>" ;      echo   "<font color='white'>"  .  $message  .  "</font>" ;      echo   "</div>" ;      //打印错误sql语句       echo   "<font color='red'><pre>"  .  $sql  .  "</pre></font>" ;      echo   "</div>" ; //开源代码phpfensi测试数据       echo   "</fieldset>" ;    }   }  //使用方法   $mysql  =  new  mysql( $dbhost ,  $dbuser ,  $dbpwd ,  $dbname ,  $coding );

 

 

查看更多关于php连接mysql数据库操作类的详细内容...

  阅读:46次