PHP+ACCESS数据库问题,高手看看

邪V风 2006-11-24 11:36:13
由于各种原因(涉及到二级域名系统,ASP和PHP,MSSQL和MYSQL等等问题)
需要用PHP+ACCESS写段代码,我ASP用的比较多,PHP只是了解,所以想高手问下,用PHP+ACCESS,在数据库里插入一条记录从连接数据库,到添加记录,希望大家能帮我解决下,下面是我的代码,但是出现错误
@define("DB_PATH", ROOT_PATH."data.mdb");
@define("DB_TYPE", "access"); //数据库类型
$dsn = "Driver={Microsoft Access Driver (*.mdb)};Dbq=".DB_PATH.";Uid=;Pwd=;";
$dbc=new com("adodb.connection");
$sql="insert into test set domian='yanhui',lx='bbs'";
$result=odbc_exec($dsn,$sql);
希望高手能给个比较完整的答案,不胜感谢!!!!
...全文
509 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
rgwfeng2 2007-02-22
  • 打赏
  • 举报
回复
good
邪V风 2006-12-30
  • 打赏
  • 举报
回复
晕,不好意思,差点忘了结帖子,刚刚翻起才看到,立马结帖!
PleaseDoTellMeWhy 2006-12-18
  • 打赏
  • 举报
回复
那就迅速结贴!
懒得去死 2006-12-18
  • 打赏
  • 举报
回复
$connstr="DRIVER=Microsoft Access Driver (*.mdb);DBQ=".realpath("netBook.mdb") ;
$connid=odbc_connect($connstr,"","",SQL_CUR_USE_ODBC );
$sql="insert into test(domian,lx) values('yanhui','bbs')";
$result=odbc_exec($connid,$sql);

if($result)
echo "successful";
else
echo "failed";
cho__cho 2006-12-18
  • 打赏
  • 举报
回复

倒,我没看到这个问题

来接分
cpilq 2006-12-18
  • 打赏
  • 举报
回复
终于让我找到答案了,谢谢
cloudgamer 2006-11-25
  • 打赏
  • 举报
回复
帮顶
danis_cn 2006-11-25
  • 打赏
  • 举报
回复
$connstr="DRIVER=Microsoft Access Driver (*.mdb);DBQ=".realpath("netBook.mdb") ;
$connid=odbc_connect($connstr,"","",SQL_CUR_USE_ODBC );
$sql="insert into test(domian,lx) values('yanhui','bbs')";
$result=odbc_exec($connid,$sql);

if($result)
echo "successful";
else
echo "failed";

wwx840723 2006-11-25
  • 打赏
  • 举报
回复
没用过~
leakey8 2006-11-25
  • 打赏
  • 举报
回复
$dsn = "Driver={Microsoft Access Driver (*.mdb)};Dbq=".DB_PATH.";Uid=;Pwd=;";
$conn = odbc_connect($dsn, '','') ;
$sql = "insert into test(domian,lx) values('yanhui','bbs')";
odbc_do($conn, $sql) ;
li1229363 2006-11-25
  • 打赏
  • 举报
回复
参考的另外一篇:

在Windows版的PHP中使用ADO

这个例子建了一个连接,用ODBC打开Access的数据库NorthWind(安装Access时带的示范)。在执行了SQL语句后,返回了RecordSet对象。例子显示了前三个字段:

<?
$dbc = new COM("ADODB.Connection");
$dbc->Provider = "MSDASQL";
$dbc->Open("nwind");
$rs = $dbc->Execute("select * from products");
$i = 0;
while (!$rs->EOF) {
$i += 1;
$fld0 = $rs->Fields(0);
$fld1 = $rs->Fields(1);
$fld2 = $rs->Fields(2);
print "$fld0->value $fld1->value $fld2->value<BR>";
$rs->MoveNext();
}
$rs->Close();
?>
li1229363 2006-11-25
  • 打赏
  • 举报
回复
参考文章,我忘记了到底是那个网站的信息了,请先参考吧

PHP技巧--通过COM使用ADODB

要实现下列功能,请确保 php.ini 中的 com.allow_dcom 选项已设为 true。

一、准备工作

新建一个ACCESS数据库,并命名为db.mdb,然后在这个数据库中新建一个表 comtest,包含 id 和 title 两个字段,最后随便插入一些数据。

二、实现代码

<?php
// 就是刚建的数据库
$db = 'd:\\wwwroot\\db.mdb';

// 建立连接,并打开
$conn = new COM('ADODB.Connection') or die('can not start Active X Data Objects');
//$conn->Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=$db");
$conn->Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=$db");

// 执行查询并输出数据
$rs = $conn->Execute('SELECT * FROM comtest');
?>
<table border="1">
<tr><th>ID</th><th>Title</th>
</tr>
<?php
while (!$rs->EOF) {
echo '<tr>';
echo '<td>'. $rs->Fields['id']->Value .'</td>';
echo '<td>'. $rs->Fields['title']->Value .'</td>';
echo '</tr>';
$rs->MoveNext();
}
?>
</table>
<?php
// 释放资源
$rs->Close();
$conn->Close();
$rs = null;
$conn = null;
?>
li1229363 2006-11-25
  • 打赏
  • 举报
回复
danis_cn(宇宙鸟)的代码是正确的!第一次使用PHP+ACCESS也是这样的问题,后来使用第二次、第三次,就不会出这样的问题了

在网上搜索到的代码一段,给予参考:

$connstr="provider=microsoft.jet.oledb.4.0; data source=";
$connstr.=realpath("mbr.mdb");//mbr.mdb就是我们要操作的数据库的名称
$conn = new COM("ADODB.Connection"); //建立一个ADODB.Conection驱动
$conn->Open($connstr);;//打开数据库!
$rs = $conn->Execute("select * from mbr"); //执行SQL语句
iasky 2006-11-25
  • 打赏
  • 举报
回复
错误代码是什么?
铁坑 2006-11-25
  • 打赏
  • 举报
回复
其他的我不知道,但你语句写错了吧(我猜的)
$sql="insert into test(domian,lx) values('yanhui','bbs')";
mysql_query($sql);

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧