2016-09-21 5 views
-2

試しましたthis私はまだそれを動作させることはできません。PDOに挿入されていない最後のIDを選択

編集:

私はPDOでinsertせずに私の果物のためid'sを取得したいです。

//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

何**レコードフルーツ**機能は何ですか?あなたの完全なコードとテーブル構造を共有してください。 – developer

+0

@developer私は 'recordFruit()'を制御していません。これは、サードパーティによって私に提供されたAPIです。変数を入力するだけです。私はフルーツ版で単純化しました。私は彼らのDBにアクセスできますが、私は挿入権限を持っていません。 – bobbyjones

答えて

0

IDが自動インクリメントの場合、order byで照会してlast 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; 
関連する問題