请教 php连接access 方法 急! 请教 php连接access 方法 代码 ,光有那个代码好像不行,是不是要什么配置,我连接的时候老是出现错(我没有用过这个连接).希望加一个便利代码,我好尝试一下,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一般来说,在数据库方面,php和mysql才是黄金搭档,但有些时候尤其小规模数据存放在accesss中时,可能就需要连接一下了。前几天,因为要给老师把一些图片从access数据库中提取出来生成文件,自己对vb之类有不太熟悉,就百度和查手册用php解决了一下,现在把一些心得写一下。php连接access,用的是odbc相关函数。连接的代码如下:<?php $connstr="DRIVER=Microsoft Access Driver (*.mdb);DBQ=".realpath("mydb.mdb"); $connid=odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ); ?>如上就建立了一个连接,mydb.mdb就是你要连接的access数据库,接下来就要执行sql查询,跟mysql类似又有些不一样。$rs=odbc_do($connid,“sql查询”);执行查询并返回。odbc_fetch_row($rs),与mysql有一点差别,odbc无需返回,只有执行odbc_do()之后,才可以利用odbc_result(),来获得结果。$f1=odbc_result($rs,n),用来获得查询结果,n从1开始取值,表示第几个字段,也可用字段名称代替。基本的就这些了,更多的函数可以参考php手册的odbc函数部分,根据mysql的类比就可以。还有一点要说明的是,在php.ini有关于读取odbc数据库内容大小的限制,默认为4kb,若数据库中有字段大小超出就会出现内容不全,设置方法在php.ini中找到odbc.defaultlrl,把它后边的数值增大即可。下面举个例子:在mydb.mdb中有个pic表,表中两个字段,一个是名称,一个是picid,现要将其中picid不为空的记录读出并按格式写入一个文本文档,如下:<?php $connstr="DRIVER=Microsoft Access Driver (*.mdb);DBQ=".realpath("mydb.mdb"); $connid=odbc_connect($connstr,"","",SQL_CUR_USE_ODBC ); $query=odbc_do($connid,"select 名称,PicID from pic where PicID<>''"); while(odbc_fetch_row($query)) { $name = odbc_result($query,1); $id=odbc_result($query,2);$str=$name.'@'.$id.'^';$fp=fopen("picid.txt","a");fwrite($fp,$str);fclose($fp); }?> 另:在access的sql查询中,不等于只能用<>,而用!=会出现错误。跟很多odbc数据库一样,odbc_num_rows($rs)往往也会返回错误,不能正确执行,可用while($odbc_fetch_row($rs))想法实现。 参考资料:http://hi.baidu.com/avrilmaomao/blog/item/12fe733eb98fe5fe828b1381.html 注册成网站会员 怎么弄 php 随机一次性取四个数怎么处理?? 做个照片网站-请问如何来设计限制照片可见性 xml数据中出现生辟字怎么办? 怎样自动转接网站 求一rewrite正则写法 ckeditor的安全性问题 不用curl来ping百度的问题 MYSQL的自动增长ID产生效率问题 数据类型转换问题。 PHP 网上交易功能步骤....高手知道的告诉我小弟~~~先3Q了 如何将搜索结果缓存到临时表
$connstr="DRIVER=Microsoft Access Driver (*.mdb);DBQ=".realpath("mydb.mdb");
$connid=odbc_connect($connstr,"","",SQL_CUR_USE_ODBC );
?>
如上就建立了一个连接,mydb.mdb就是你要连接的access数据库,接下来就要执行sql查询,跟mysql类似又有些不一样。
$rs=odbc_do($connid,“sql查询”);执行查询并返回。
odbc_fetch_row($rs),与mysql有一点差别,odbc无需返回,只有执行odbc_do()之后,才可以利用odbc_result(),来获得结果。
$f1=odbc_result($rs,n),用来获得查询结果,n从1开始取值,表示第几个字段,也可用字段名称代替。
基本的就这些了,更多的函数可以参考php手册的odbc函数部分,根据mysql的类比就可以。
还有一点要说明的是,在php.ini有关于读取odbc数据库内容大小的限制,默认为4kb,若数据库中有字段大小超出就会出现内容不全,设置方法在php.ini中找到
odbc.defaultlrl,把它后边的数值增大即可。
下面举个例子:
在mydb.mdb中有个pic表,表中两个字段,一个是名称,一个是picid,现要将其中picid不为空的记录读出并按格式写入一个文本文档,如下:<?php
$connstr="DRIVER=Microsoft Access Driver (*.mdb);DBQ=".realpath("mydb.mdb");
$connid=odbc_connect($connstr,"","",SQL_CUR_USE_ODBC );
$query=odbc_do($connid,"select 名称,PicID from pic where PicID<>''"); while(odbc_fetch_row($query))
{
$name = odbc_result($query,1);
$id=odbc_result($query,2);
$str=$name.'@'.$id.'^';
$fp=fopen("picid.txt","a");
fwrite($fp,$str);
fclose($fp);
}
?>
另:在access的sql查询中,不等于只能用<>,而用!=会出现错误。跟很多odbc数据库一样,odbc_num_rows($rs)往往也会返回错误,不能正确执行,可用while($odbc_fetch_row($rs))想法实现。 参考资料:http://hi.baidu.com/avrilmaomao/blog/item/12fe733eb98fe5fe828b1381.html