簡體   English   中英

從最近插入的數據庫條目的特定行中獲取信息

[英]Get information from specific row of most recently inserted database entry

顯然這...

$lastid = $wpdb->insert_id

...會給我最后插入的行(如此處所述: 如何從wordpress數據庫中獲取最后插入的行ID? )。

但是,在提交表單后,如何定位特定的表並從最新插入的行中獲取信息?

例如,我有一個名為“ license”的表,每一行都包含“ email”和“ name”列(以及其他列)。

我的想法是,在我使用表單將某些內容插入該行之后,我需要在屏幕上顯示電子郵件和姓名。

任何幫助都是極好的。

您可以使用自動增量列的值。 您可能已經擁有ID列了。

在新的SELECT語句中,使用ORDER BY myCol DESC的auto-increment-coloumn並使用LIMIT 1僅獲得具有最高值的值(其中最近的值為1)。

根據您已經擁有的內容,必須將最后插入的ID用於新查詢。

$query = "select * from license where id = ".$lastid;

使用此查詢的結果,您可以打印出最后插入的行的其他信息。

如果您需要有關php代碼的更多信息,請提供您的代碼,以便我們進行相應的編輯

通常, 由於最近執行的INSERT語句 ,最后插入記錄的ID (在您的示例中為Wordpress)只能從列中提取(如名稱所示)ID(AUTO_INCREMENT)。 MySQL文檔

如果為特定的反向時間點指定“獲取XYZ表的lastID”,則沒有直接方法,只能按上述方式工作。

即使在php中使用了正確的用法,在嘗試獲取LAST_INSERT_ID之前,如果在其他表上執行了其他INSERT語句(您不希望執行的語句),也需要小心,這樣您就不會最終從不需要的表中獲取ID。

您可能的解決方法:

  • 從ID desc排序的所需表中執行SELECT,例如:

     SELECT id FROM xyz ORDER BY id DESC LIMIT 1; 

    這是假設id是AUTO_INCREMENT或類似的

  • 另一個選擇是,如果可能的話,在代碼中找到您想要的表的INSERT語句的“位置”,例如xyz,並在那里獲取ID:

     $wpdb->insert_id 

暫無
暫無

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

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