400-696-8028

PHP通过ADO COM组件访问Access数据库-

长沙北大青鸟作者:科泰校区匿名

摘要:一、前言    今天在csdn.net上看到两个关于PHP连接Access的问题,意思大概是想知道不通过PHP的Odbc_connect方式,是否能连接Access数据库,于是,我想到用ADO COM组件的方式,试了一下,果然成功,写一文,贡献给大

一、前言

   今天在csdn.net上看到两个关于PHP连接Access的问题,意思大概是想知道不通过PHP的Odbc_connect方式,是否能连接Access数据库,于是,我想到用ADO COM组件的方式,试了一下,果然成功,写一文,贡献给大家!

二、配置

   这里要注意的是,用这个方式,还是必须配置一个系统ODBC数据库源,我试了,不能用asp连接无数据源的方式连接,如果有哪位朋友用无数据源的方式连接成功了,请指导在下,分享成功。我用的是Win2000P,系统ODBC数据源名称是:odbc1,该数据库为:db1,数据库db1有一个表,名称为:table1,表table1有两个字段id(自动增长)和field1(str(10)),里面随便输入一些测试数据。

三、代码

<?

$conn = @new COM("ADODB.Connection") or die("ADO 连接创建失败!");

$rs = @new COM("ADODB.RecordSet") or die("ADO 记录集创建失败!");

$conn->open("Provider=MSDASQL.1;Data Source=odbc1;");

$rs = $conn->Execute("SELECT * FROM table1 ORDER BY id DESC;");

$row=1;

echo "<table border=1>";

while(!$rs->EOF)

{

   echo "<tr>";

   for($col=0;$col<$rs->Fields->Count;$col++)

   {

      echo "<td>";

      echo $rs->Fields[$col]->Name.":".$rs->Fields[$col]->Value;

      echo "</td>";

   }

   $row++;

   echo "</tr>";

   $rs->MoveNext();

}

echo "</table>";

$rs->Close;

$conn->Close;

?>

四、简单说明

   (1)$conn = @new COM("ADODB.Connection") or die("ADO 连接创建失败!");中@的用法,很多朋友或许已经知道了,不知道的朋友,可以将这个“@”去掉,然后,将ADODB故意写错成ADOBD,看看有什么提示,然后再将“@”加上,区别两种情况,就明白了。

   (2)$conn->open("Provider=MSDASQL.1;Data Source=odbc1;");这行,可以分为两行写:

$conn->ConnectionString="Provider=MSDASQL.1;Data Source=odbc1;";

$conn->Open();

要注意,不能象ASP那样写:

$conn->ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DBQ=db1.mdb";

我这样试了,将db1.mdb放到php文件同一个目录,然后测试,出现了如下错误:

Warning: Invoke() failed: 发生意外。

至于原因,请别问我,我搞不懂,如果你知道,请告诉我,~0~

   (3)其他代码,我想应该比较清晰了吧(特别是那些以前了解ASP的人)......

关于我们
公司简介
发展历程
青鸟荣誉
联系我们
加入我们
青鸟课程
BCVE视频特效课程
BCUI全链路UI设计
BCSP软件开发专业
BCNT网络工程师
启能职业教育基础课程
长沙初中生学什么
长沙高中生学什么
长沙大学生学什么