免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1295 | 回复: 2
打印 上一主题 下一主题

我的PHP +ado的insert操作不能进行,请帮我看看。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-06-23 16:32 |只看该作者 |倒序浏览
我的代码:
  $conn = new COM("ADODB.Connection" or die ("Cannot start ADO";
  $dsn  = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" . realpath ("wtgq.mdb";
  
  $conn->;Open ($dsn);
  
  if ($_POST['add']) {
          $dept = $_POST['dept'];
          $pass = $_POST['pass'];
         
          //echo $dept . $pass . "<br>;";
          $sql    = "insert into plants (deptname, password) values (\"{$dept}\", \"{$pass}\"";
          echo $sql . "<br>;";
          $rs     = $conn->;Execute ($sql);
          if ($rs->;EOF) {
                  echo "EOF<br>;";
          }
         
          $rs->;Close ();
          $rs->;Release ();
          $rs = null;
  }
结果出错:
insert into plants (deptname, password) values ("aaaaa", "bbb"

Warning: (null)(): Invoke() failed: 发生意外。 Source: Microsoft OLE DB Provider for ODBC Drivers Description: [Microsoft][ODBC Microsoft Access Driver] 参数不足,期待是 2。 in E:\www\wz_new\ljtw\gongqtuanadmin\dept_manage.php on line 14

Fatal error: Call to a member function on a non-object in E:\www\wz_new\ljtw\gongqtuanadmin\dept_manage.php on line 19
第14行是:$rs     = $conn->;Execute ($sql);
第19行是:$rs->;Close ();
请问我错在那里呢?

论坛徽章:
0
2 [报告]
发表于 2005-06-23 21:09 |只看该作者

我的PHP +ado的insert操作不能进行,请帮我看看。

我用了adodb,用相同的sql语句作连接,还是提示相同的错误,我的代码如下:
include('adodb/ADOdb.inc.php');       # 载入ADODB
  $conn = &ADONewConnection('ado_access');    # 建立一个连结
  $dsn = "Driver={Microsoft Access Driver (*.mdb)};Dbq=wtgq.mdb;Uid=wd=;";
  $conn->;Connect($dsn);
  
  if ($_POST['add']) {
          $dept = $_POST['dept'];
          $pass = $_POST['pass'];
         
          //echo $dept . $pass . "<br>;";
          $sql  = "insert into plants (id, deptname, password) ";
          $sql .= "values (Insert_ID(), \"{$dept}\", \"{$pass}\"";
         
          if ($conn->;Execute($sql) === false) {
                print 'error inserting: '.$conn->;ErrorMsg().'
;';
        }
       
  }
  $conn->;Close (); # 选择性执行

我的access数据库里的plants表的结构为:
id: 自动编号
deptname: 文本
password: 文本

请问是我的数据库的问题吗?我对access数据库不是很熟。

论坛徽章:
0
3 [报告]
发表于 2005-06-23 22:03 |只看该作者

我的PHP +ado的insert操作不能进行,请帮我看看。

搞了一晚上,终于搞出来了,原来是access中要用但引号对把文本类型引起来:
$sql    = "insert into plants (deptname, password) values ('{$dept}', '{$pass}')";
就这么简单
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP