php连接Access数据库的三种⽅法
虽然不是⼀个类但先放这⼉吧
最近想把⼀个asp的⽹站改成php的,⽆奈空间不⽀持mysql数据库,只好⽤access数据库了,但以前都是⽤的php+mysql,php+access数据库编程还真没有做过.
感谢党,感谢cctv,感谢搜索引擎,这不到⼀编不错的⽂章,特转过来和⼤家分享.//php100
在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库来设置和清除数据源。是⼀个⽤于建⽴ODBC数据源的独⽴的32位可执⾏应⽤程序,在控制⾯板中有其对应的图标Control Panel。
php程序员站 //php100
ODBC驱动管理程序为数据源打开ODBC驱动程序并将 SQL语句传送给驱动程序。在客户/服务器RDBMS处理完⼀个select查询后,ODBC 驱动程序将值返回给应⽤程序。当执⾏⼀个insert、 update或delete语句时,驱动程序返回查询所影响的⾏数。 //php100php远程连接mysql数据库
下⾯介绍PHP使⽤ODBC连接Access 数据库的⽅法。⽤$connstr="DRIVER= Microsoft Access Driver (*.mdb)来设置数据驱动,函数realpath()⽤来取得数据库的相对路径。利⽤该⽅法连接Access数据库主要应⽤到PHP的 odbc_connect()函数,该函数声明如下:
//php100
以下为引⽤的内容:
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
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);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论