从访问数据库返回id


Returning id from access database

这是我的代码,是插入数据到使用php访问数据库。

$conn = new COM ("ADODB.Connection") or die("Cannot start ADO");
$connStr = "PROVIDER=Microsoft.Ace.OLEDB.12.0;Data Source=" . realpath(‘my access path’) . ";";
// Open the connection to the database
$conn->open($connStr);

$query = “my insert query here which inserts into theaccess database fine”
$query2 = "select @@IDENTITY"
try{
$rs = $conn->execute($query);
$idReturned = $conn->lastInsertId();
echo json_encode($idReturned); 
} catch(com_exception $e){
        echo($e);
    }

我试图得到返回的id,但我得到的是下面的错误:

异常'com_exception'与消息'来源:ADODB。连接描述:参数类型错误,不可接受范围,或相互冲突。"C:'inetpub'wwwroot'agency' createnewvalue .php:132堆栈跟踪:#0C: ' inetpub ' wwwroot '代理' createnewvaluation.php (132):com->lastInsertId() #1 {main}

我手动查看了结果并自己获得了代码

if($dbh->getAttribute(PDO::ATTR_DRIVER_NAME) == 'pgsql') {
} elseif($dbh->getAttribute(PDO::ATTR_DRIVER_NAME) == 'odbc') {
  $sb = $dbh->prepare('SELECT @@IDENTITY AS lastID');
  $sb->execute();
  $row = $sb->fetch(PDO::FETCH_ASSOC);
  $arr = array("ref" => $row["lastID"]);
                echo json_encode($arr);
} else {
                $arr = array("ref" => "error");
                echo json_encode($arr);
}