2016-09-21 64 views
-2

嘗試this但我仍然無法使它工作。選擇最後一個ID,沒有插入PDO

編輯:

我想要得到的id's我水果的每沒有PDO insert

//apple 
//orange 

foreach($_POST['fruits'] as $fruits) { 

    $a = recordFruit($fruits); 

     if(!empty($a)) { 
     $id = id_of_this_fruit(); //get ID of apple, then orange. so on.. 
     echo $id[0]."<br />"; 
     } 
} 


function id_of_this_fruit(){ 
    ... 
    $query = "SELECT * FROM fruits ORDER BY id DESC LIMIT 1; 
    ... 
    $row = $sql->fetchALL(); 
    return $row; 
} 

編輯:在查詢發生一些變化後。我的代碼返回值。但它沒有返回最近添加的數據。它會在插入新水果之前顯示舊ID。

+0

也許'id'字段設置爲數據庫'主要key'? – Gvidas

+1

什麼** recordFruit **功能呢?並請分享您的完整代碼和表格結構。 – developer

+0

@developer我無法控制'recordFruit()'它由第三方提供給我的某種API。我只是輸入裏面的變量。我只是用我的水果版本簡化了它。我有權訪問他們的數據庫,但我沒有插入特權。 – bobbyjones

回答

0

您可以通過查詢order by來獲取最後一個id,並限制ID是否爲自動增量。

SELECT * 
FROM fruits 
ORDER BY ID DESC 
LIMIT 1 
0

這隻適用於使用表格的情況。如果您使用的是帶有WHERE子句中的多個表的別名,將失敗的SQL Error (1221): Incorrect usage of UPDATE and ORDER BY

SELECT * FROM fruits ORDER BY id DESC LIMIT 1;