這是我創造我把手sqlite3的和last_insert_rowid
$this->_handle = new SQLite3($this->_dbname);
這是如何使我的數據庫查詢(縮短):
$stmt = $this->_handle->prepare($sql);
// execute query
$result = $stmt->execute();
// get all results
while($row = $result->fetchArray(SQLITE3_ASSOC)){
$res[] = $row;
}
現在我想獲得最後插入的ID 。我試着這樣說:
public function last_insert_rowid()
{
$result = sqlite_last_insert_rowid($this->_handle);
var_dump($result);
echo '<pre>';
print_r($result);
echo '</pre>';
return $result;
}
我得到這個錯誤:
Warning: sqlite_last_insert_rowid() expects parameter 1 to be resource, object given in ... on line 444 NULL
編輯:這可不行,因爲我必須有它sqlite_open()
打開。
我也與此代碼試了一下:
function last_insert_rowid(){
global $db;
$sql = "SELECT last_insert_rowid();";
$result = $db->ExecuteQuery($sql);
var_dump($result);
return $result;
//return ($db->last_insert_rowid());
}
我收到以下錯誤信息:
NULL Warning: SQLite3Stmt::execute() [sqlite3stmt.execute]: Unable to execute statement: constraint failed in ..
錯誤指向此行$stmt->execute();
如何讓我的最後插入ID?