我看到函數mysqli_insert_id
可以返回最後插入或更新的ID。獲取最後插入的ID在PHP和MySQL
但是用戶安全嗎?我的意思是,如果某些用戶同時插入或更新來自不同位置的查詢觸發(在同一個link
上),以便它將正確的插入ID返回給適當的用戶?
我看到函數mysqli_insert_id
可以返回最後插入或更新的ID。獲取最後插入的ID在PHP和MySQL
但是用戶安全嗎?我的意思是,如果某些用戶同時插入或更新來自不同位置的查詢觸發(在同一個link
上),以便它將正確的插入ID返回給適當的用戶?
感謝Your Common Sense評論,我看到mysqli_insert_id
是多用戶安全。如果每個用戶獲得msqli
鏈接,則mysqli_insert_id
返回正確的ID,無需多少用戶同時觸發插入查詢。
根據用戶的意見和我的經驗,這是安全的,但您可以隨時對您的應用程序進行編碼以重新檢查它。例如,如果你的表有字段(id,id_user,data1,data2,...),並且用戶讓你在這個表中插入數據,你可以在插入後立即啓動mysqli_insert_id,從表中獲取記錄:
SELECT * from table WHERE id = $value_from_mysli_insert_id AND id_user = $current_user
現在您確定這是用戶的記錄。當然你也可以得到整個記錄,並重新檢查,如果所有的數據是相同的用戶插入到表
這將是錯誤的而且方式 –
,讓你知道,「意見」身邊有這樣叫事「官方手冊「。 –
官方手冊http://au2.php.net/manual/en/mysqli.insert-id.php中沒有任何內容告訴這個函數在所有條件下都沒有任何問題,因此用戶不斷詢問這個函數是否可以在多用戶環境下工作 –
是MySQLi_insert_id()是最好的,我總是使用這段代碼。該代碼發送的真正價值
喜請結帳我的回答 – w3b
stackoverflow.com/search?q=mysqli_insert_id+safe –