需要注意php获取路径用的是realpath,复制代码 代码如下
分类:威尼斯手机平台

PHP代码:

PHP代码:

php+access连接数据库常用的主意雷同有三种.

急需小心php获取路线用的是realpath
复制代码 代码如下:
$connstr="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath("data.mdb");
$connid=odbc_connect($connstr,"","",SQL_CUR_USE_ODBC);
$issuetime=date("Y-m-d H:i:s");
$sql="insert into test values("","",...)";
$result=odbc_exec($connid,$sql);
if($result) echo "successful";
else echo "failed";
?>

  1. <?php

  2. $connstr="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" .realpath("data.mdb");

  3. $connid=odbc_connect($connstr,"","",SQL_CUR_USE_ODBC);

  4. $issuetime=date("Y-m-d H:i:s");

  5. $sql="insert into test values("","",...)";

  6. $result=odbc_exec($connid,$sql);

  7. if($result) echo "successful";

  8. else echo "failed";

  9. ?>

推荐介绍的代码

之二:

之二:

急需专心php获取路线用的是realpath
复制代码 代码如下:
$connstr="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath("data.mdb");
$connid=odbc_connect($connstr,"","",SQL_CUR_USE_ODBC);
$issuetime=date("Y-m-d H:i:s");
$sql="insert into test values("","",...)";
$result=odbc_exec($connid,$sql);
if($result) echo "successful";
else echo "failed";
?>

复制代码 代码如下:
//创建ADO连接
$conn = @new COM("ADODB.Connection"State of Qatar or die ("ADO连接战败!");
$connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath("temp/TempData.mdb");
$conn->Open($connstr);

  1. <?PHP

  2. //创建ADO连接

  3. $conn = @new COM("ADODB.Connection"State of Qatar or die ("ADO连接失利!");

  4. $connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" .realpath("temp/TempData.mdb");

  5. $conn->Open($connstr);

  6.  

  7. //创立记录集查询

  8. $rs = @new COM("ADODB.RecordSet");

  9. $rs->Open("select * from blog_Content",$conn,1,3);

  10. echo $rs->Fields["log_Title"]->Value;    //输出log_Title字段

  11. echo "<br/>";

  12. $rs->Movenext(卡塔尔国;    //将记录集指针下移

  13. echo $rs->Fields["log_Title"]->Value;

  14. $rs->close();

  15. ?>

之二:

//创立记录集查询
$rs = @new COM("ADODB.RecordSet");
$rs->Open("select * from blog_Content",$conn,1,3);
echo $rs->Fields["log_Title"]->Value; //输出log_Title字段
echo "
";
$rs->Movenext(State of Qatar; //将记录集指针下移
echo $rs->Fields["log_Title"]->Value;
$rs->close();
?>

复制代码 代码如下:
//创建ADO连接
$conn = @new COM("ADODB.Connection"卡塔尔 or die ("ADO连接战败!");
$connstr = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" . realpath("temp/TempData.mdb");
$conn->Open($connstr);

方法三:用ODBC,在ODBC治理器中为db1.mdb建风姿罗曼蒂克处系统数据源(平时须求服务器权限,不提议接纳)

//创设记录集查询
$rs = @new COM("ADODB.RecordSet");
$rs->Open("select * from blog_Content",$conn,1,3);
echo $rs->Fields["log_Title"]->Value; //输出log_Title字段
echo "
";
$rs->Movenext(卡塔尔; //将记录集指针下移
echo $rs->Fields["log_Title"]->Value;
$rs->close();
?>

名称:dbdsn (能够和煦定卡塔尔国
驱动程序:Microsoft Access Driver (*.MDB)

下边是增加补充

代码:
复制代码 代码如下:
$Conn = odbc_connect("dbdsn","admin","123"卡塔尔(قطر‎; //连接数据源
$Doquery=odbc_exec($Conn,"select * from 表名 where 条件"卡塔尔;//施行查询

1.经过创建odbc驱动,再用php 的odbc_connect(卡塔尔(قطر‎函数连接.

如:
复制代码 代码如下:
$connstr=DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=".$db;
$connid=odbc_connect($connstr,"username","password",SQL_CUR_USE_ODBC);

2.用oledb方式连接,再调用 open方法张开
如:

复制代码 代码如下:
$conn=new com("ADODB.connection");
$connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=".$db;
$conn->Open($connstr);

但那三种方法怎么总是都出错,去网络找材质,有的正是未有付与Everyone权限,有的正是access97 和access二零零三的驱动差别(正是数据库是二〇〇三建的,读取用的驱动是97的.卡塔尔国形成的.

透过数十次测验原本是数据库的路经变成的.曾在支付asp时习于旧贯把数据库的地点写成相对路径,再用server.mappath(State of Qatar函数获取她的相对路线.

在付出php时也继续了那几个习于旧贯,用realpath加数据库的相对路线来收获数据库的地址.比方:$db=realpath("../db.mdb"卡塔尔国;

但asp 的include函数和php的include函数在管理满含文件的方法仿佛差别,造成了php在区别目录下蕴含conn.php文件一而再再而三数据库现身"见惯司空错误 无法开发注册表关键字",

或Uncaught exception 'com_exception' with message 'Source: ProviderDescription: 验证退步。' 的错误.

明日把错误信息及减轻形式整理一下贴给我们,希望其余朋友境遇这种场馆不用像本人那样烦恼

错误1

php连接access 数据库管见所及难题

复制代码 代码如下:
Warning: odbc_connect() [
function.odbc-connect
]: SQL error: [Microsoft][ODBC Microsoft Access Driver]广泛错误 不能够开采注册表关键字 'Temporary (volatileState of Qatar Jet DSN for process 0xdd0 Thread 0xcb8 DBC 0x14bd024 Jet'。, SQL state S1000 in SQLConnect in E:wwwrootphperz.comphpwebconn.php on line 8

并发这种指鹿为马注脚你使用的是odbc的access驱动,便是下边说的第生机勃勃种连接数据库的秘技$connstr=D哈弗IVE奥迪Q5={Microsoft Access Driver (*.mdb)}; DBQ=".$db;

况且你眼下拜见的文本和您的conn.php数据库连接文件不在同一目录下,蕴含conn.php时用的相对路线,比方include("../conn.php"卡塔尔(قطر‎,由于php管理include函数里的文件和 asp的例外,

招致了数据库路径上的怪诞,

消除措施:

1,检查你数据库的不二等秘书技,是或不是用realpath(卡塔尔函数加相对路线来赢得的,

比如:$db=realpath("../db.mdb");
万一是,请换种办法拿到数据库地址,举个例子用:$_SERVER['DOCUMENT_ROOT']来收获你网址的根目,再加数据库之处

例:$db=$_SERVER['DOCUMENT_ROOT']."db.mdb";

2,检查权限,授予他伊夫ryone权限

3,换种连接情势,微软的odbc驱动存在有的不牢固的bug,有望形成该类错误,听别人说微软自个儿已经丢掉了对odbc数据源连接方式的帮助,并提出客户选拔oledb情势,应该将接连字串改为如下方式:

"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=".$db;

     错误2:

Fatal error: Uncaught exception 'com_exception' with message 'Source: ProviderDescription: 验证战败。' in E:wwwrootphperz.comphpwebconn.php:7 Stack trace: #0 E:wwwrootphperz.comphpwebconn.php(7): com->Open('Provider=Micros...') #1 ...............

这种不当表达你用的是oledb的点子连接的数据库,並且也是数据库的门路形成的.

减轻情势同上,用$_SERVER['DOCUMENT_ROOT']."db.mdb";方法获得数据库地址

     错误3:

复制代码 代码如下:
Warning: odbc_connect() [
function.odbc-connect
]: SQL error: [Microsoft][ODBC 驱动程序微型机] 未察觉数据源名称并且未内定默许驱动程序, SQL state IM002 in SQLConnect in E:wwwrootphperz.comphpwebconn.php on line 8

odbc 驱动形式连接的数据库,错误原因多半是您的连天字符串写错了,完整的总是字符串应该是:

复制代码 代码如下:
$db=$_SERVER['DOCUMENT_ROOT']."db.mdb";
$connstr="Driver={Microsoft Access Driver (*.mdb)};Dbq=$db;Uid=Admin;Pwd=pass";
$connid=odbc_connect($connstr,"admin","pass",SQL_CUR_USE_ODBC卡塔尔 or die("数据库张开退步!请联系管理员"State of Qatar;

假使您的数据库未有密码以上Uid和Pwd能够总结

复制代码 代码如下:
$connstr="Driver={Microsoft Access Driver (*.mdb)};Dbq=$db";
$connid=odbc_connect($connstr,"","",SQL_CUR_USE_ODBCState of Qatar or die("数据库张开战败!请联系管理员"卡塔尔(قطر‎;

错误4:
Fatal error: Uncaught exception 'com_exception' with message 'Source: ADODB.ConnectionDescription: 未找到提供程序。该程序大概未正确安装。' in......................

oledb连接方式,错误原因同上,完整的连天字符串应该是:

复制代码 代码如下:
$db=$_SERVER['DOCUMENT_ROOT']."db.mdb";
$conn=new com("ADODB.connection");
$connstr="Provider=Microsoaft.Jet.OLEDB.4.0;Data Source=".$db;     
$conn->Open($connstr);

本文由威尼斯在线注册平台发布于威尼斯手机平台,转载请注明出处:需要注意php获取路径用的是realpath,复制代码 代码如下

上一篇:screw这个开源软件,它的作用是通过对php代码的编译来加速、优化php代码 下一篇:静态方法在程序开始时生成内存
猜你喜欢
热门排行
精彩图文