分享

PHP操作Access数据库

 开启美好每一天 2015-12-05
在PHP中连接Access有如下3种方式。

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

(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。

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

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

resourse odbc_connect( string dsn, string user, string password [, int cursor_type])

dsn:系统dsn名称。

user:数据库服务器某用户名。

password:数据库服务器某用户密码。

cursor_type:游标类型。

代码如下:

$connstr="DRIVER=Microsoft Access Driver (*.mdb);

DBQ=".realpath("bookinfo.mdb");

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

自己测试成功的代码,使用PDO的ODBC连接,注意要在php.ini里取消pdo_odbc.dll的备注。

  $db = new PDO("odbc:driver={microsoft access driver (*.mdb)};dbq=" . realpath("mydb.mdb")) or die("Connect Error");  
                $sql = "select top 10 * from postcode";       //按照access的写法来
                $rs = $db->query($sql);
                while ($row = $rs->fetch()) {    //不使用fetchall
                    echo $row["id"];
            }

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

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);


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多