仓酷云

标题: PHP教程之PHP中经由过程ADO挪用Access数据库 [打印本页]

作者: 飘飘悠悠    时间: 2015-2-4 00:18
标题: PHP教程之PHP中经由过程ADO挪用Access数据库
在学习HTML中我想边学边做是最有效的方式,当然这一方式对于学习PHP同样是最有效的。access|ado|数据|数据库   我看了那篇《如何在PHP中经由过程ADO挪用Asscess数据库和COM法式》文章后,即刻作了测试,了局掉败了。悲伤是否是。

怎样办?我只好去PHP官方网站乞助,皇天不负有心人,终究我找到了谜底――

详细的处理办法以下:
(1)进入http://php.weblogs.com/adodb,下载响应的ZIP包;同MICROSOFT公司的ADO一样,该东东用PHP完成ADO同各类各样数据库打交道(太好了,一切类型的数据库都能处置)。

(2)解包,外面文件良多,不外有效的只要ohtml.inc.php和adodb.inc.php,把它们复制到响应目次下(或是装置php4的缺省目次下c:\php4\peer\,或是以后运转法式目次下,视include()函数而定);

(3)然后在本鸡(毛病字一个,是机)的c:\myphp目次下(iis下设置经由过程http://localhost/jhk来会见),造了一个名为test.mdb的access库,外头再造个experts的表……。为了经由过程DSN来会见,我把方才的ACCESS库在DSN中取名test。

(4)运转。看着仿单我造了这么个法式:
dbtest.php,内容以下:
<?php
include('tohtml.inc.php'); // load code common to ADODB
include('adodb.inc.php'); // load code common to ADODB
$conn = &ADONewConnection('access'); // create a connection
$conn->PConnect('test');// connect to MySQL, agora db
$sql = 'select name, group1 from experts';
$rs = $conn->Execute($sql);
rs2html($rs,'border=2 cellpadding=3',array('Customer Name','Customer ID'));
$rs->Close(); // optional
$conn->Close(); // optional
?>

然后,IE中打入:http://localhost/jhk/dbtest.php
唉!了局出来了。 使人根基写意!!

(5) 接着,我又想:还要设置DSN,烦不烦!绕过DSN应若何处理?由于在asp中,我习气用conn.open("provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.Mappath("../nydatabase.mdb"))来处置mdb库,那速度快呀!

?……想了又想,看了又看……。

找找找,……,嘿嘿,终究在testdatabases.inc.php 中找到了谜底! 我再把方才的法式改编:
<?php
include('tohtml.inc.php'); // load code common to ADODB
include('adodb.inc.php'); // load code common to ADODB
$db = &ADONewConnection("ado_access");
print "<h1>Connecting $db->databaseType...</h1>";
$access = 'test.mdb';
$myDSN = 'PROVIDER=Microsoft.Jet.OLEDB.4.0;'.'DATA SOURCE='. $access . ';';.'USER ID=;PASSWORD=;';

if (@$db->PConnect($myDSN, "", "", "")) {
print "ADO version=".$db->_connectionID->version."<br>";
$sql = 'select name, group1 from experts';
$rs = $db->Execute($sql);
rs2html($rs,'border=2 cellpadding=3',array('Customer Name','Customer ID'));
} else print "ERROR: Access test requires a Access database $access".'<BR>'.$db->ErrorMsg();
?>

运转。
一切弄定!
  你发奋努力,熟悉了安全方面的问题,然后又设计了一些程序,感觉还不错。
作者: 小妖女    时间: 2015-2-4 11:00
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
作者: 乐观    时间: 2015-2-9 22:17
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
作者: 不帅    时间: 2015-2-18 22:31
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
作者: 仓酷云    时间: 2015-2-25 20:48
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
作者: 金色的骷髅    时间: 2015-3-7 17:43
装在C盘下面可以利用windows的ghost功能可以还原回来(顺便当做是重转啦),当然啦我的编译目录要放在别的盘下,不然自己的劳动成果就悲剧啦。
作者: 因胸联盟    时间: 2015-3-15 10:20
多看优秀程序员编写的代码,仔细理解他们解决问题的方法,对自身有很大的帮助。
作者: 海妖    时间: 2015-3-17 23:39
在我安装pear包的时候老是提示,缺少某某文件,才发现 那群extension 的排列是应该有一点的顺序,而我安装的版本的排序不是正常的排序。没办法我只好把那群冒号加了上去,只留下我需要使用的扩展。
作者: 若相依    时间: 2015-3-19 23:56
这些都是最基本最常用功能,我们这些菜鸟在系统学习后,可以先对这些功能深入研究。
作者: 若天明    时间: 2015-4-3 22:48
个人呢觉得,配wamp 最容易漏的一步就是忘了把$PHP$目录下的libmysql.dll拷贝到windows系统目录的system32目录下,还有重启apache。
作者: 莫相离    时间: 2015-4-4 20:21
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
作者: 再见西城    时间: 2015-4-12 16:29
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
作者: 简单生活    时间: 2015-4-12 21:51
兴趣是最好的老师,百度是最好的词典。
作者: 飘飘悠悠    时间: 2015-4-16 03:43
不禁又想起那些说php是草根语言的人,为什么认得差距这么大呢。
作者: 第二个灵魂    时间: 2015-4-17 22:47
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
作者: 分手快乐    时间: 2015-4-22 07:13
环境搭建好,当你看见你的浏览器输出“it works\\\\\\\"时你一定是喜悦的。在你解决问题的时候,我强烈建议多读php手册。
作者: 蒙在股里    时间: 2015-4-22 10:32
如果你已经到这种程度了,那么你已经可以做我的老师了。其实php也分很多的区域,
作者: 灵魂腐蚀    时间: 2015-6-5 21:58
对于懒惰的朋友,我推荐php的集成环境xampp或者是wamp。这两个软件安装方便,使用简单。但是我还是强烈建议自己动手搭建开发环境。
作者: admin    时间: 2015-7-13 08:00
找到的的资料很多都是在论坛里的,需要注册,所以我一般没到一个论坛都注册一个id,所有的id都注册成一样的,这样下次再进来的时候就不用重复注册啦。当然有些论坛的某些资料是需要的付费的。
作者: 兰色精灵    时间: 2015-7-15 22:28
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2