2017-02-10 122 views
0

嘿,我正在嘗試使用一行代碼從我的數據庫中獲取最大ID。PHP從數據庫中獲取最大值

有這個代碼正在工作,但是我知道沒有使用三行代碼就有更好的方法。還有一件事我使用xammp作爲我的數據庫。

$result = @mysqli_query($connection, "SELECT MAX(Cust_ID) FROM customer"); 
$row = mysqli_fetch_row($result); 
$getlastID = $row[0]; 

我希望有人能幫助我。

+2

使用三條線有什麼問題?我會更關心錯誤抑制的用法。 – chris85

+0

這沒有錯,一行代碼查詢,其他代碼獲取結果,然後顯示...你可以用這個'$ getlastID = mysqli_fetch_row($ result)[0];'來改變最後兩行;但這取決於你的PHP版本。很明顯,你可以把'mysqli_query'放在'mysqli_fetch_row(HERE)'裏面,並且只有一行。 – matiaslauriti

+0

使用三行代碼他們沒有錯。不過,我只是想盡可能地減少代碼量。 – Ahamed

回答

0

事實是,用mysqli有三個步驟,你正在做什麼。如果您使用的是PDO,則可以使用fetchColumn將最後兩步合併爲一個。

只是爲了討論的方便,你可以其實那些三行代碼合併成一個,通過包裹查詢中擷取列,並將結果直接提領:

$id = mysqli_fetch_row(mysqli_query($connection, 'SELECT MAX(Cust_ID) FROM customer'))[0]; 

我會不盡管如此,建議這樣做。如果每個指令都在單獨的語句中執行,那麼調試腳本將會更容易。較少的代碼通常更好,但不會犧牲可維護性。


順便說一句,您應該避免使用錯誤控制運算符(@)。如果有錯誤,你想知道它們,所以你可以處理它們而不是忽略它們。它可能有一些有效的用途,但這可能不是其中之一。