• php连接Access数据库


    最近想把一个asp的网站改成php的,无奈空间不支持mysql数据库,只好用access数据库了,但以前都是用的php+mysql,php+access数据库编程还真没有做过.
    感谢党,感谢cctv,感谢搜索引擎,这不找到一编不错的文章,特转过来和大家分享.//php100.com 
    在PHP中连接Access有如下3种方式。 php程序员之家

    (1)创建系统数据源,用PHP提供的ODBC函数即可。

    php程序员之家


    (2)同样可以使用PHP的ODBC函数,但不创建数据源。
    开放数据库连接(Open DateBase Conection,ODBC)是Windows Open Server(开放服务)API(WOSA)产品之一。一个数据源是对数据库的一个命名连接。对于应用程序要连接的不同类型的数据库,都需要一个ODBC 驱动程序。ODBC API主要是为客户/服务器的RDBMS使用设计的,但是ODBC驱动程序也可以用于连接桌面数据库文件、工作表和平面文件。ODBC使用 Odbcinst.dll库来设置和清除数据源。Odbcad32.exe是一个用于建立ODBC数据源的独立的32位可执行应用程序,在控制面板中有其对应的图标Control Panel。
    php程序员站 //php100.com


    ODBC驱动管理程序为数据源打开ODBC驱动程序并将 SQL语句传送给驱动程序。在客户/服务器RDBMS处理完一个select查询后,ODBC驱动程序将值返回给应用程序。当执行一个insert、 update或delete语句时,驱动程序返回查询所影响的行数。 //php100.com

    下面介绍PHP使用ODBC连接Access 数据库的方法。用$connstr="DRIVER= Microsoft Access Driver (*.mdb)来设置数据驱动,函数realpath()用来取得数据库的相对路径。利用该方法连接Access数据库主要应用到PHP的 odbc_connect()函数,该函数声明如下: //php100.com

    以下为引用的内容:
    resourse odbc_connect( string dsn, string user, string password [, int cursor_type])
    dsn:系统dsn名称

    user:数据库服务器某用户名。
    php程序员站


    password:数据库服务器某用户密码。 php程序员站

    cursor_type:游标类型。

    php程序员之家

    代码如下:


    以下为引用的内容:
    $connstr="DRIVER=Microsoft Access Driver (*.mdb);
    DBQ=".realpath("bookinfo.mdb");

    $connid=odbc_connect($connstr,"","",SQL_CUR_USE_ODBC );


    php程序员之家

    (3)使用微软的ADODB数据库驱动。ActiveX Data Objects(ADO)是Microsoft开放数据库应用程序的数据库访问技术。它被设计用来同新的数据访问层OLE DB Provider一起协同工作,提供通用数据访问(Universal Date Access)。OLE DB是一个低层的数据访问接口,用它可以访问各种数据源,包括传统的关系型数据库、电子邮件系统及自定义的商业对象。ADO技术大大简化了OLE DB的操作,因为ADO封装了OLE DB程序中使用的大量COM接口,所以ADO是一种高层的访问技术。 php程序员站//php100.com

    ADO技术基于通用对象模型(COM),它提供了多种语言的访问技术。PHP是通过预先定义类COM来使用ADO方法操纵Access数据库的。该类详细说明如下:

    以下为引用的内容:
    string com::com( string module_name [, string server_name [, int codepage]])
    module_name:被请求组件的名字或class-id。

    server_name:DCOM服务器的名字。
    Codepage:指定用于将PHP字符串转换成UNICODE字符串的代码页,反之亦然。该参数的取值有CP_ACP、CP_MACCP、CP_OEMCP、CP_SYMBOL、CP_THREAD_ACP、CP_UTF7和CP_UTF8。
    PHP利用com类并使用ADO方法访问数据库的代码如下:

    以下为引用的内容:
    $conn = new com("ADODB.Connection");
    $connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath("bookinfo.mdb ");

    $conn->Open($connstr);

    -------------------------------------------------------------------

    <?PHP
    /*
    创建ADO连接
    */
    $conn = @new COM("ADODB.Connection") or die ("ADO Connection faild.");
    $connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath("DATUM/cnbt.mdb");
    $conn->Open($connstr);
    /*
    创建记录集查询
    */
    $rs = @new COM("ADODB.RecordSet");
    $rs->Open("select * from dbo_dirs",$conn,1,3);
    /*
    循环读取数据
    */
    while(!$rs->eof){
     echo "$rs->Fields["title"]->Value;
     echo "<br/>";
     $rs->Movenext(); //将记录集指针下移
    }
    $rs->close();
    ?>

    <?php

    $odbc = "Driver={Microsoft Access Driver (*.mdb)};Dbq=".realpath("test.mdb");
    $conn = odbc_connect($odbc, '', '', SQL_CUR_USE_ODBC);
    $sql ="select * from user";
    $query = odbc_exec($conn, $sql);
    $num = odbc_num_fields($query);
    echo "<table><tr><th>ID</th><th>username</th><th>password</th></tr>";
    while ($row = odbc_fetch_row($query))
    {
    echo "<tr>";
    echo "<td>".odbc_result($query,"id")."</td>";
    echo "<td>".odbc_result($query,"username")."</td>";
    echo "<td>".odbc_result($query,"password")."</td>";
    echo "</tr>";
    }
    echo "</table>";
    ?>

  • 相关阅读:
    vue组件传值
    mui父子页面蒙版
    mui页面传值
    mui跳转页面短暂白屏
    Sql 向数据库中添加一行数据
    redis启动报错 no config file specified, using the default config.
    C# 合并表达式树
    .net从集合中取出下拉框类型值数据
    jquery从数组中取出满足要求的元素
    RabbitMQ Topic交换机代码实现
  • 原文地址:https://www.cnblogs.com/ince/p/11839574.html
Copyright © 2020-2023  润新知