标签:mysql ase 设置 com 数据驱动 result 应用 sql 对象
最近想把一个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>";
?>
标签:mysql ase 设置 com 数据驱动 result 应用 sql 对象
原文地址:https://www.cnblogs.com/ince/p/11839574.html