2014-02-08 43 views
0

我有一個註冊表格。如果用戶啓動的形式我在MySQL的表中插入一個空行,並獲得最後一個ID這樣的:是插入空行,並得到最後的ID保存在PHP的MySQL?

$db=startConnection(); 
$query=" INSERT INTO form VALUES()"; 
$result=$db->query($query) 
    or die($db->error); 
$id=$db->insert_id; 

但現在我擔心 - 是不是有可能是兩個用戶在同一時間註冊並都從上面的代碼獲得相同的$ ID?例如,如果兩個人同時擊中註冊表單並執行「插入」查詢,之後兩個人都會得到相同的最後一個insert_id?

+0

爲什麼要創建一個空行?難道不可能在用戶真正提交表單並且有數據放入行之前創建行嗎? – Flixer

+0

@Flixer在我的註冊表格中,用戶可以上傳數據。我想將數據上傳到由他的ID命名的文件夾中。這就是爲什麼我需要第一個ID。 – Adam

+0

然後等待用戶上傳數據並在創建時輸入數據和文件夾,然後保存數據。 – lascort

回答

1

PHP在服務器上運行,而不是在客戶端運行。 因此,一旦第一個用戶提交第二個提交,將在第一個完成後執行

+0

這是否意味着兩個php頁面不能同時執行?例如,當10000人正在加載我的頁面時,有一個人必須等待,直到所有其他9999個其他頁面都已完成加載? – Adam

+1

@Adam - 處理您的請求的Web服務器不是多線程的,可以並行處理多個請求......它將處理的並行請求數量有限制,並且隨後的請求將在第一時間排隊,隨着每個線程再次可用,先到先得 –