这是我的代码,是插入数据到使用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);
}