实例数据库连接类

 更新时间:2016年11月25日 16:01  点击:1441

require_once("Config.inc.php");//系统配置文件

    
/*
    $DBHOST="localhost"; //主机名
    $DBUSER="root"; // 数据库用户名
    $DBPWD=""; //密码
    $DBNAME="test" ; //数据库名
    */

    
//定义数据库类

    class DataBase
    {
        
//定义属性

        var $mConnId;        
//连接标识        

        var $mSqlString;
//待执行的SQL语句

        var $mResultArray;    
//执行Select语句返回的结果数组        

        
        
//__construct(),构造函数,建立数据库的连接

        function __construct($pHost,$pUser,$pPwd,$pDbName){            
            $this->mConnId=mysql_connect ($pHost,$pUser,$pPwd);
//建立连接

            mysql_select_db($pDbName, $this->mConnId);    
//选择数据库

            mysql_query("set names 'gbk'");
//设置数据库编码为GBK

        }
        
        
//__destruct:析构函数,断开连接

        function __destruct(){
            mysql_close($this->mConnId);
//此处还有问题......

        }
        
        
//执行SQL语句

        function ExecuteSql(){
            mysql_query($this->mSqlString);
        }
        
        
//查询数据,返回值为对象数组,数组中的每一元素为一行记录构成的对象

        function Query(){
            $i=0;
            $query_result=mysql_query($this->mSqlString,$this->mConnId);
            while($row=mysql_fetch_object($query_result)){
                $this->mResultArray[$i++]=$row;
            }
        }
    
    }
//class DataBase


    
//以下为测试用

    $db=new DataBase($DBHOST,$DBUSER,$DBPWD,$DBNAME);
    $db->mSqlString="update student set phone='123' where id='04261001' ";
    $db->ExecuteSql();
    $db->mSqlString="select * from student where id='04261001' ";
    $db->Query();
    print_r($db->mResultArray);
//输出测试结果

    

PHP连接MYSQL数据库类
mysql.php
<?php

Class Dirver{
 

  //连接数据库
  //link database
  function DBLink($dbhost='localhost', $dbuser='root', $password='', $dbname='', $pconnect=0){
    $this->LinkID[$this->Line] = ($pconnect == 1)? @mysql_pconnect($dbhost, $dbuser, $password) : @mysql_connect($dbhost, $dbuser, $password) or die("Connect to MySQL ($dbhost,$dbuser) failed");
    //选择连接数据库
    //choose to link database
    @mysql_select_db($dbname, $this->LinkID[$this->Line]) or die('Cannot use database '.$dbname);
    return $this->LinkID[$this->Line];
  }
 
  //查询语句
  //view qurry
  function query($query,$limit='') {
    $this -> nums ++;
    //检测如果有限制数据集则处理
    //test if there is finite data,then function
    if($limit>0){
      $query = $query.' LIMIT '.$limit;
    }
    $this-> Lists[$this->Line][] = $query;
   
   
    $querys = mysql_query($query,$this->LinkID[$this->Line]);
    if(!$querys){
      $this->DB_Error($query);
    }
    return $querys;
  }
 
  //返回数组资料
  //back to array info
  function fetch_array($query) {
    return @mysql_fetch_array($query, MYSQL_ASSOC);
  }
 
  //返回数组资料
  //back to array info
  function result($query) {
    return @mysql_result($query,$this->LinkID[$this->Line]);
  }
 
  //返回数组资料行
  //back to row info
  function rows($query) {
    return $this->fetch_array($this->query($query));
  }
 
 
  //返回数组行
  //back to numrows
  function nums($query) {
    return $this->num_rows($this->query($query));
  }
 
  //取得返回列的数目
  //fetch the numbers backing out
  function num_rows($query){
    return @mysql_num_rows($query);
  }
 
  //返回单列的各字段
  //return to every field of single row
  function fetch_row($query) {
    return @mysql_fetch_row($query);
  }
 
  //返回最后一次使用 INSERT 指令的 ID
  //return to inserted ID used last time
  function insert_id(){
    return @mysql_insert_id($this->LinkID[$this->Line]);
  }
 
  //关闭当前数据库连接
  //close current database link
  function close(){
    return @mysql_close($this->LinkID[$this->Line]);
  }
 
  //检测mysql版本
  //test mysql version
  function version(){
    $query = @mysql_query("SELECT VERSION()",$this->LinkID[$this->Line]);
    return  @mysql_result($query, 0);
  }
 

  //返回友情提示信息
  //return to kindly note
  function DB_Error_t($query=''){
 
  }
  function DB_Error($query=''){
    global $PHP_SELF;
     
      //出错语句提示
      //error sentence
      $errors = preg_replace("/'(.+?)'/is","&nbsp;'<font color='#8899DF'><b>\1</b></font>'&nbsp;",mysql_error());
     

        $charset ='';
        //提示语言
        //language noted
        $lang = Array('This SQL Error Info!', 'Error Script:', 'Present time:',
              'Http Host:', 'Server Name:', 'Server Software:',
              'Host IP Address:', 'Remote User Agent:', 'Current File:',
              'Current Line:', 'Line.', 'The Error number:',
              'The specific Error was:', 'SQL Query :', 'Not discover whateverly SQL Sentence !');
        //时间处理
        //time
        $nowdate = date('Y-m-d H:i A');
        $errors = preg_replace("/'(.+?)'/is","'<font color='#8899DF'><b>\1</b></font>'",mysql_error());
     
      //检测是否有语句
      //test if there is any sentence.
      if($query==''){
        $query = $lang[14];
      }
     
      echo "<html>
  <head>
  <meta http-equiv='Content-Type' content='text/html; charset=$charset'>
  <title>$lang[0]</title>
  </head>
  <body>
  </body>
  </html>
  <table style='BORDER-COLLAPSE: collapse;font-size:9pt;' borderColor='#a8b7c6' cellSpacing='1' width='100%' border='1' cellpadding='3' align='center'>
          <tr>
            <td bgColor='#F9F9F9' height='38' colspan='2'>
            <font size='4' face='Arial' color='#800000'>$lang[0]</font></td>
          </tr>
          <tr>
            <td bgColor='#F9F9F9' width='165'>
            <p align='right'>$lang[2]</td>
            <td bgColor='#F9F9F9'>$nowdate</td>
          </tr>
          <tr>
            <td bgColor='#F9F9F9' width='165'>
            <p align='right'>$lang[3]</td>
            <td bgColor='#F9F9F9'><b>".$_SERVER['HTTP_HOST']."</b></td>
          </tr>
          <tr>
            <td bgColor='#F9F9F9' width='165'>
            <p align='right'>$lang[4]</td>
            <td bgColor='#F9F9F9'>".$_SERVER['SERVER_NAME']."</td>
          </tr>
          <tr>
            <td bgColor='#F9F9F9' width='165'>
            <p align='right'>$lang[5]</td>
            <td bgColor='#F9F9F9'>".$_SERVER['SERVER_SOFTWARE']."</td>
          </tr>
          <tr>
            <td bgColor='#F9F9F9' width='165'>
            <p align='right'>$lang[6]</td>
            <td bgColor='#F9F9F9'><font color="#800000">".$_SERVER['REMOTE_ADDR']."</font></td>
          </tr>
          <tr>
            <td bgColor='#F9F9F9' width='165'>
            <p align='right'>$lang[7]</td>
            <td bgColor='#F9F9F9'><font color="#000080">".$_SERVER['HTTP_USER_AGENT'].";</font></td>
          </tr>
          <tr>
            <td bgColor='#F9F9F9' width='165'>
            <p align='right'>$lang[11]</td>
            <td bgColor='#F9F9F9'><b>".mysql_errno()."</b></td>
          </tr>
          <tr>
            <td bgColor='#F9F9F9' width='165'>
            <p align='right'>$lang[12]</td>
            <td bgColor='#F9F9F9'>$errors</td>
          </tr>
          <tr>
            <td bgColor='#F9F9F9' width='165'>
            <p align='right'>$lang[13]</td>
            <td bgColor='#F9F9F9'>$query</td>
          </tr>
        </table>
          </td>
        </tr>
      </table>";
    exit;
  }

}
?>

 

  1. <?php   
  2. dd = new LampDb('localhost','root','2184237','note','utf8');   
  3. $sql = "select * from mynote";   
  4. $handle = $dd->query($sql);   
  5. $aa = $dd->fetchOneRow($handle);   
  6. print_r($aa);   
  7. echo "<hr />";   
  8. $ddd = $dd->fetchRows($handle);   
  9. for ($n=0; $n < count($ddd); $n++){   
  10. echo $ddd[$n]['id'] . "标题" . $ddd[$n]['subject'];   
  11. echo "<br />";   
  12. }   
  13. echo "<hr />";   
  14. echo "nums=" . $dd->fetchRowNums($handle);   
  15. ?>  
  16.  
  17. php   
  18. class LampDb   
  19. {   
  20. private $conn;   
  21. //连接数据库   
  22. function __construct($host,$user,$pass,$dbname,$charset)   
  23. {   
  24.   $this->conn = mysql_connect($host,$user,$pass);   
  25.   mysql_query('set names $charset');   
  26.   $db = mysql_select_db($dbname,$this->conn);   
  27. }   
  28. //查询语句   
  29. function query($sql)   
  30. {   
  31.   $handle = mysql_query($sql,$this->conn);   
  32.   return $handle;   
  33. }   
  34. //查询一条记录   
  35. function fetchOneRow($handle)   
  36. {   
  37.   $aa = mysql_fetch_assoc($handle);   
  38.   return $aa;   
  39. }   
  40. //查询多条记录   
  41. function fetchRows($handle,$i=0)   
  42. {   
  43.   while($bb = mysql_fetch_assoc($handle)){   
  44.    $bbb[$i] = $bb;   
  45.    $i++;   
  46.   }   
  47.   return $bbb;   
  48. }   
  49. //获取一个查询语句返回的记录数   
  50. function fetchRowNums($handle)   
  51. {   
  52.   //$handle = $this->query($sql);   
  53.   $num = mysql_num_rows($handle);   
  54.   return $num;   
  55. }   
  56. }   
  57. ?>  

php 批量删除文件
 elseif($doing == 'delfiles') {
  if ($dl) {
   $dfiles='';
   $succ = $fail = 0;
   foreach ($dl as $filepath => $value) {
    if (@unlink($filepath)) {
     $succ++;
    } else {
     $fail++;
    }
   }
   m('删除文件 '.count($dl).' 成功 '.$succ.' 失败 '.$fail);
  } else {
   m('请选择文件');
  }

php 删除,创建目录
 // 判断读写情况
 $dir_writeable = @is_writable($nowpath) ? 'Writable' : 'Non-writable';

 // 删除目录
 if ($doing == 'deldir' && $thefile) {
  if (!file_exists($thefile)) {
   m($thefile.' 目录不存在');
  } else {
   m('目录删除 '.(deltree($thefile) ? basename($thefile).' 成功' : '失败'));
  }
 }

 // 创建目录
 elseif ($newdirname) {
  $mkdirs = $nowpath.$newdirname;
  if (file_exists($mkdirs)) {
   m('目录已经存在了');
  } else {
   m('创建目录 '.(@mkdir($mkdirs,0777) ? '成功' : '失败'));
   @chmod($mkdirs,0777);
  }
 }

[!--infotagslink--]

相关文章

  • PHP 数据库缓存Memcache操作类

    操作类就是把一些常用的一系列的数据库或相关操作写在一个类中,这样调用时我们只要调用类文件,如果要执行相关操作就直接调用类文件中的方法函数就可以实现了,下面整理了...2016-11-25
  • C#连接SQL数据库和查询数据功能的操作技巧

    本文给大家分享C#连接SQL数据库和查询数据功能的操作技巧,本文通过图文并茂的形式给大家介绍的非常详细,需要的朋友参考下吧...2021-05-17
  • php简单数据操作的实例

    最基础的对数据的增加删除修改操作实例,菜鸟们收了吧...2013-09-26
  • C#从数据库读取图片并保存的两种方法

    这篇文章主要介绍了C#从数据库读取图片并保存的方法,帮助大家更好的理解和使用c#,感兴趣的朋友可以了解下...2021-01-16
  • 解决Mybatis 大数据量的批量insert问题

    这篇文章主要介绍了解决Mybatis 大数据量的批量insert问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-09
  • Antd-vue Table组件添加Click事件,实现点击某行数据教程

    这篇文章主要介绍了Antd-vue Table组件添加Click事件,实现点击某行数据教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-11-17
  • 详解如何清理redis集群的所有数据

    这篇文章主要介绍了详解如何清理redis集群的所有数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-18
  • Intellij IDEA连接Navicat数据库的方法

    这篇文章主要介绍了Intellij IDEA连接Navicat数据库的方法,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借价值,需要的朋友可以参考下...2021-03-25
  • 在数据库里将毫秒转换成date格式的方法

    在开发过程中,我们经常会将日期时间的毫秒数存放到数据库,但是它对应的时间看起来就十分不方便,我们可以使用一些函数将毫秒转换成date格式。 一、 在MySQL中,有内置的函数from_unixtime()来做相应的转换,使用如下: 复制...2014-05-31
  • vue 获取到数据但却渲染不到页面上的解决方法

    这篇文章主要介绍了vue 获取到数据但却渲染不到页面上的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-11-19
  • C#操作本地文件及保存文件到数据库的基本方法总结

    C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
  • 如何解决局域网内mysql数据库连接慢

    通过内网连另外一台机器的mysql服务, 确发现速度N慢! 等了大约几十秒才等到提示输入密码。 但是ping mysql所在服务器却很快! 想到很久之前有过类似的经验, telnet等一些服务在连接请求的时候,会做一些反向域名解析(如果...2015-10-21
  • MySQL快速复制数据库数据表的方法

    某些时候,例如为了搭建一个测试环境,或者克隆一个网站,需要复制一个已存在的mysql数据库。使用以下方法,可以非常简单地实现。假设已经存在的数据库名字叫db1,想要复制一份,命名为newdb。步骤如下:1. 首先创建新的数据库newd...2015-10-21
  • php把读取xml 文档并转换成json数据代码

    在php中解析xml文档用专门的函数domdocument来处理,把json在php中也有相关的处理函数,我们要把数据xml 数据存到一个数据再用json_encode直接换成json数据就OK了。...2016-11-25
  • mybatis-plus 处理大数据插入太慢的解决

    这篇文章主要介绍了mybatis-plus 处理大数据插入太慢的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-18
  • mysqldump命令导入导出数据库方法与实例汇总

    mysqldump命令的用法1、导出所有库系统命令行mysqldump -uusername -ppassword --all-databases > all.sql 2、导入所有库mysql命令行mysql>source all.sql; 3、导出某些库系统命令行mysqldump -uusername -ppassword...2015-10-21
  • node.js如何操作MySQL数据库

    这篇文章主要介绍了node.js如何操作MySQL数据库,帮助大家更好的进行web开发,感兴趣的朋友可以了解下...2020-10-29
  • Mysql数据库错误代码中文详细说明

    1005:创建表失败1006:创建数据库失败1007:数据库已存在,创建数据库失败1008:数据库不存在,删除数据库失败1009:不能删除数据库文件导致删除数据库失败1010:不能删除数据目录导致删除数据库失败1011:删除数据库...2013-09-23
  • postgresql数据添加两个字段联合唯一的操作

    这篇文章主要介绍了postgresql数据添加两个字段联合唯一的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-04
  • Vue生命周期activated之返回上一页不重新请求数据操作

    这篇文章主要介绍了Vue生命周期activated之返回上一页不重新请求数据操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-07-26