来自 php 的 Microsoft Access,带有 odbc 错误:(07002)

Posted

技术标签:

【中文标题】来自 php 的 Microsoft Access,带有 odbc 错误:(07002)【英文标题】:Microsoft Access from php with odbc Error : (07002) 【发布时间】:2019-10-09 22:15:55 【问题描述】:

我正在尝试运行连接到我的 MS Access .accdb 数据库的第一个 php 脚本。

这是我的代码:

<?php
$dbName = "G:/xampp/htdocs/1.accdb"; 
$nazwa_produktu = (string)$_POST["nazwa_produktu"];
$cena = (int)$_POST["cena"];
$ilosc = (int)$_POST["ilosc"];
$kategoria = (string)$_POST["kategoria"];
if (!file_exists($dbName)) 
die("Access database file not found !");

$conn = new PDO("odbc:Driver=Microsoft Access Driver (*.mdb, *.accdb); Dbq=$dbName; Uid=; Pwd=;");
$sql = "INSERT INTO [produkty] (nazwa_produktu, cena, ilosc, kategoria) VALUES ($nazwa_produktu, $cena, $ilosc, $kategoria)";
if($conn->query($sql))
    
       echo 'success';
    else

           $db_err = $conn->errorInfo();
           echo 'Error : ('. $db_err[0] .') -- ' . $db_err[2];
    

我还在:

错误:(07002) -- [Microsoft][ODBC Microsoft Access Driver] 参数太少。预期 2.(SQLExecute[-3010] at ext\pdo_odbc\odbc_stmt.c:258)

可能它与$conn 中的UidPwd 有关,但我真的不知道我还能做些什么,因为当我尝试在没有这个参数的情况下运行它时仍然有问题。

【问题讨论】:

【参考方案1】:

尝试将Uid 指定为Admin,根据this reference,即:

$conn = new PDO("odbc:Driver=Microsoft Access Driver (*.mdb, *.accdb); Dbq=$dbName; Uid=Admin; Pwd=;");

【讨论】:

还是一样。

以上是关于来自 php 的 Microsoft Access,带有 odbc 错误:(07002)的主要内容,如果未能解决你的问题,请参考以下文章

从 PHP 传递日期以从 Microsoft Access 获取数据

如果不是交互式的,来自 Microsoft Access VBA 的 mySQL 查询会失败吗?

PHP Microsoft Access 使用 ADODB 获取数据

PHP 警告:odbc_connect():SQL 错误:[Microsoft][ODBC Microsoft Access Driver]一般错误无法打开临时注册表项(易失性)

如何使用 PHP、SQL 和 Microsoft Access 将另一个表中的 select max 函数和用户输入的变量插入表中?

Microsoft Access ODBC 连接:连接字符串差异