2014-05-03 89 views
-1

我看到函數mysqli_insert_id可以返回最後插入或更新的ID。獲取最後插入的ID在PHP和MySQL

但是用戶安全嗎?我的意思是,如果某些用戶同時插入或更新來自不同位置的查詢觸發(在同一個link上),以便它將正確的插入ID返回給適當的用戶?

+0

喜請結帳我的回答 – w3b

+0

stackoverflow.com/search?q=mysqli_insert_id+safe –

回答

0

感謝Your Common Sense評論,我看到mysqli_insert_id是多用戶安全。如果每個用戶獲得msqli鏈接,則mysqli_insert_id返回正確的ID,無需多少用戶同時觸發插入查詢。

-1

根據用戶的意見和我的經驗,這是安全的,但您可以隨時對您的應用程序進行編碼以重新檢查它。例如,如果你的表有字段(id,id_user,data1,data2,...),並且用戶讓你在這個表中插入數據,你可以在插入後立即啓動mysqli_insert_id,從表中獲取記錄:

SELECT * from table WHERE id = $value_from_mysli_insert_id AND id_user = $current_user 

現在您確定這是用戶的記錄。當然你也可以得到整個記錄,並重新檢查,如果所有的數據是相同的用戶插入到表

+0

這將是錯誤的而且方式 –

+0

,讓你知道,「意見」身邊有這樣叫事「官方手冊「。 –

+0

官方手冊http://au2.php.net/manual/en/mysqli.insert-id.php中沒有任何內容告訴這個函數在所有條件下都沒有任何問題,因此用戶不斷詢問這個函數是否可以在多用戶環境下工作 –

0

是MySQLi_insert_id()是最好的,我總是使用這段代碼。該代碼發送的真正價值