簡體   English   中英

獲取PHP中最后插入的行的ID

[英]Get id of last inserted row in PHP

我將PHP用於服務器端腳本,將mysql服務器用於數據庫。 如果我使用mysql_insert_id()那么它會給出“ 0”,並且使用LAST_INSERT_ID()會導致錯誤“對象返回空描述”。當我在Objective-C的客戶端調試時,會看到此錯誤。 我的表格的ID列是自動生成的。 我沒有明確傳遞ID。

以下是PHP代碼:

 // Connect to our database
    $db = Frapi_Database::getInstance();

    $sql = "INSERT INTO userTrip 
        (userId, fromLat, fromLon, fromLoc, fromPOI,
        toLat, toLon, toLoc, toPOI,
        tripFinished, isMatched, departureTime, createdAt)
        values 
        (".$userId.",".$fromLat.",".$fromLon.", GeomFromText('POINT($fromLat $fromLon)')".",'".$fromPOI."',".$toLat.","
            .$toLon.", GeomFromText('POINT($toLat $toLon)')".",'".$toPOI."',0,0,'".
            $departureTime."','".date('Y-m-d H:i:s')."')";

    $stmt = $db->prepare($sql);        

    if (!$stmt->execute())
        throw new Frapi_Error('ERROR_INSERTING_RECORD');

    $lastId = LAST_INSERT_ID();
    $this->data['tripId'] = $lastId;
    $db = null;

Frapi數據庫PDO擴展而來,因此您可以使用以下代碼:

$lastId = $db->lastInsertId();

另請參閱: PDO::lastInsertId()

試試這個(如果使用mysqli ):

 $db->insert_id;

或者(如果使用PDO ):

 $db->lastInsertId();

你在找這個嗎?

獲取最后插入的ID

mysql_insert_id();

mysql_insert_id

試試看

$id = mysql_insert_id();

它會為你工作,請訪問這個鏈接mysql_insert_id

如果您的表具有AUTO INCREMENT列(如UserID,Emp_ID等),則可以使用此查詢獲取最后插入的記錄

SELECT * FROM table_name where UserID=(select MAX(UserID)from table_name)

在PHP代碼中:

$con = mysqli_connect('localhost', 'userid', 'password', 'database_name');
if (!$con) {
     die('Could not connect: ' . mysqli_error($con));
}
$sql = "SELECT * FROM table_name where UserID=(select MAX(UserID)from table_name)";
$result = mysqli_query($con, $sql);

然后,您可以使用提取的數據作為需求

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM