簡體   English   中英

插入后php是否在同一連接中獲取更新的ID(auto_increment),還是必須重新連接?

[英]Does php get updated id (auto_increment) in the same connection after an insert or do you have to reconnect?

我有PHP:

$con=mysqli_connect("","","","");


$sql="INSERT INTO xxx (xxxx, yyyy, zzzz)
VALUES
('$_POST[A]','$B','$C')";


$result = mysqli_query($con,"SELECT id FROM xxx ORDER BY id DESC");

$row = mysqli_fetch_array($result);

$id是插入數據之前還是之后的$id

$id = $row['id'];
mysqli_close($con);

無論連接如何,自動增量都可以工作。 如果您有1,000個同時連接所有插入的客戶端,則保證自動增量ID會按您期望的那樣增加。 那樣很好,很原子。

當您在找回它之后,它將是第一個,無需重新連接。

請注意:如果另一個客戶端更新信息,那么結果將是不正確的。

PHP提供了最后一個插入ID函數。 創建的自動增量ID在mysql的響應數據包中發送,因此無需像您所做的那樣查詢最后一個ID。

參見http://us3.php.net/manual/en/mysqli.insert-id.php

嘗試使用下面的代碼

$qry= "SELECT LAST_INSERT_ID() AS insert_id";

$c = mysqli_fetch_assoc($qry);
echo $c['insert_id'];

暫無
暫無

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

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