• 沙里软件

  • ShaliSoft.com [手机站]   办公桌收纳抽屉
  • 首页
  • 博文
  • 演示
  • 管理
  • PHP操作Access类

    网络   2013/9/24 11:44:31

    /*

    FileName:cls_access.php

    Summary: Access数据库操作类

    *************************************

    使用范例:

    ========================

    $databasepath='D:/wwwroot/cef/www/class/testdb.mdb';

    //或者$databasepath='testdb.mdb';

    $dbusername='';

    $dbpassword='';

    require_once('cls_access.php');

    $access=new Access($databasepath,$dbusername,$dbpassword);

    print_r($access->getlist("SELECT TOP 5 * FROM `Result` WHERE `ResultNo` < 12 ORDER BY `ResultNo` DESC"));

    echo $access->num_rows("update `conner` set `connerip` = '222.35.142.101' where `connerno` < 83");

    ========================

    */


    class Access{

       var $databasepath,$constr,$dbusername,$dbpassword,$link;

       function Access($databasepath,$dbusername,$dbpassword){

           $this->databasepath=$databasepath;

           $this->username=$dbusername;

           $this->password=$dbpassword;

           $this->connect();

       }

    function connect(){

       $this->constr='DRIVER={Microsoft Access Driver (*.mdb)};DBQ='.realpath($this->databasepath).';';

       $this->link=odbc_connect($this->constr,$this->username,$this->password,SQL_CUR_USE_ODBC);

       if(!$this->link) echo "数据库连接失败!";

       return $this->link;

    }


    function query($sql){     //直接运行SQL,可用于更新、删除数据

       return @odbc_exec($this->link,$sql);

    }


    function fetch_array($query){     //取得当前指针处记录

       return odbc_fetch_array($query);

    }


    function fetch_row($query){    //基本同fetch_array(),但只有数字索引

       return odbc_fetch_row($query);

    }


    function num_rows($sql){    //返回SQL查询影响到的行的数目

       return odbc_num_rows($this->query($sql));

    }


    function close(){    //关闭数据库连接函数

       odbc_close($this->link);

    }


    function getlist($sql){    //取得记录列表

       $query=$this->query($sql);

       $recordlist=array();

       while ($row=$this->fetch_array($query)){

           $recordlist[]=$row;

       }

       return $recordlist;

    }

    }

    这个类用的是ODBC,并不想网上说的要用ODBC数据源。我直接新建一个*.mdb文件就可以使用。


    再附上部分常用COM方式操作Access代码:

    $db = $_SERVER['DOCUMENT_ROOT'].'/zhuanti/ugdkfjlsg54356k6546jk654gfslkg6544s.mdb';

    $conn = new COM('ADODB.Connection') or die('can not start Active X Data Objects');

    $conn->Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$db");

    JS调用页js.php

    include_once('conn.php');

    $rs = $conn->Execute("SELECT TOP 3 * FROM userstar where chk = 1 ORDER BY id DESC");

    $idgb=1;

    while(!$rs->EOF){

       $gbinf[$idgb]['id'] = $rs->Fields['id']->Value;

       $gbinf[$idgb]['usname'] = $rs->Fields['usname']->Value;

       $gbinf[$idgb]['usage'] = $rs->Fields['usage']->Value;

       $gbinf[$idgb]['usprovince'] = $rs->Fields['usprovince']->Value;

       $gbinf[$idgb]['usfile'] = $rs->Fields['usfile']->Value;

       $gbinf[$idgb]['thumb'] = $rs->Fields['thumb']->Value;

       $gbinf[$idgb]['usmessage'] = $rs->Fields['usmessage']->Value;

       $rs->MoveNext();

       $idgb++;

    }

    $rs->Close();

    $rs = null;

    $uhtml='';

    $uhtml.='<table border="0" align="center"><tr>';

    for ($i=1; $i<4; $i++){

       $uhtml.='<td width="240" align="center">';

       if ($gbinf[$i]['usfile']){

           $uhtml.='<a href="/index.php" target="_blank" title="'.$gbinf[$i]['usname'].'"><img src="/'.$gbinf[$i]['thumb'].'" /></a><br />'.$gbinf[$i]['usprovince'].'&nbsp;'.$gbinf[$i]['usname'];

           if ($gbinf[$i]['usage'] != 0){

               $uhtml.='&nbsp;('.$gbinf[$i]['usage'].'岁)<br />';

           }

          $uhtml.='<div style="width:180px; height:40px; overflow:hidden; text-align:left"><a href="/index.php" target="_blank" title="'.$gbinf[$i]['usmessage'].'" style="line-height:20px; font-size:12px">'.$gbinf[$i]['usmessage'].'</a></div>';

       }

       $uhtml.='</td>';

    }

    $uhtml.='</tr></table>';

    echo "document.write('".$uhtml."')";


    又一段代码例子,以本文件路径确定数据库路径:

    /*

    ===========================

    数据库连接配置

    */

    $db = getcwd().'\images\90d\90dicr_os6546oftff_ic543e_cces_4535s.mdb';

    $conn = new COM('ADODB.Connection') or die('can not start Active X Data Objects');

    $conn->Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$db");

    /*

    ===========================

    */

    //print_r($_POST);

    if ($_POST['name'] && $_POST['tel'] && $_POST['addr'] && $_POST['email'] && $_POST['goal'] && $_POST['high'] && $_POST['weight'] && $_POST['message'])

    {

    $addsql = "INSERT INTO d90usr (`name`, `tel`, `addr`, `email`, `goal`, `high`, `weight`, `message`) VALUES ('".$_POST['name']."', '".$_POST['tel']."', '".$_POST['addr']."', '".$_POST['email']."', '".$_POST['goal']."', '".$_POST['high']."', '".$_POST['weight']."', '".strip_tags($_POST['message'])."')";

    //echo '<hr />'.$addsql;

    $rsadd = $conn->Execute($addsql);

    echo '<script type="text/javascript">alert("报名成功,请等待工作人员与您联系!");</script>';

    echo '<p align="center"><h1>恭喜您报名成功,请等待工作人员与您联系!</h1></p>';

    echo '<p align="center"><a href="90d.php">返回活动首页</a>&nbsp;&nbsp;<a href="/">返回商城首页</a></p>';

    }


    阅读(52834) 分享(0)

    上一篇: php基础安全多方面总结
    下一篇: PHP的FTP操作函数大全

  • 精彩推荐

    ◆ EditPlus 添加文件比较工具winmerge
    ◆ JS日期格式化扩展函数
    ◆ js判断手机网络类型
    ◆ asp.net怎么实现多线程断点续传?
    ◆ 前端性能优化 - 网页图片资源预加载
    ◆ httpd.ini手册
    ◆ IIS下PHP is_dir()/mkdir() 绝对路径目录BUG
    ◆ 什么是DNS劫持和DNS污染?谈谈运营商的流氓DNS劫持。
    ◆ php木马 隐藏在JPG图片EXIF头部中的恶意软件
    ◆ 中国市场的个人版WinRAR软件完全免费了
  • 用心做事 不能唯利是图

    • 吊儿
    • 用QQ联系我17905772
  • 搜索


  • 最新文章

    • 导出Excel 格式 mso-number-format
    • 服务器iis支持tls1.2,windows server 2008 r2 中IIS启用TLS 1.2(安装SSL后用TLS 1.2)
    • MySQL配置优化
    • EditPlus 添加文件比较工具winmerge
    • 滚动悬浮固定JS特效

  • 热门文章

    • php sso单点登录实现代码
    • 中国菜刀(China chopper) 最新黑客工具
    • redis.conf中文版(基于2.4)
    • 搜索引擎名单大全
    • php图片上传类,支持加水印,生成略缩图

  • 最新图库


  • 最新评论


  • 友情链接

  • 沙里软件

  • 最近访客

    Powered by ShaliSoft.com 豫ICP备13008529号

    免责声明:本站部分内容来源于互联网,转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,不为其版权负责,也不构成任何其他建议。如果发现侵犯版权,联系QQ17905772进行删除。