PHP和ACCESS问题。
PHP链接ACCESS是链接上了,如下:以前都是用MYSQL现在我想向数据库插入内容,怎么写代码?郁闷咯,不知道怎么弄...
PHP链接ACCESS是链接上了,如下:以前都是用MYSQL 现在我想向 数据库插入内容,怎么写代码?郁闷咯,不知道怎么弄
展开
3个回答
2013-08-16
展开全部
很奇怪要用accsee大妈如下(抄百度的): 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))想法实现。
<?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))想法实现。
2013-08-16
展开全部
具体插入操作方案(先试试):<?//链接库
$conn=new com("ADODB.Connection");
$connstr="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=". realpath("db1.mdb");
$conn->Open($connstr); //执行 //接受数值$username=$_POST["username"];
$nian=$_POST["nian"];$rs=new com("ADODB.RecordSet")or die('can not start Active X Data Objects');$sql="INSERT INTO yuyue(username,nian) VALUES ( '$username','$nian')";$conn->execute($sql);?>
$conn=new com("ADODB.Connection");
$connstr="DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=". realpath("db1.mdb");
$conn->Open($connstr); //执行 //接受数值$username=$_POST["username"];
$nian=$_POST["nian"];$rs=new com("ADODB.RecordSet")or die('can not start Active X Data Objects');$sql="INSERT INTO yuyue(username,nian) VALUES ( '$username','$nian')";$conn->execute($sql);?>
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-08-16
展开全部
$cmd=new com("ADODB.Command");$cmd->activeconnection=$conn;$cmd->commandtype=1;$cmd->commandtext="insert into biao(字段)values(值)";$cmd->execute();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询