2013-09-10 4 views
-1

Я пытаюсь получить последний/текущий идентификатор, отправленный в Insert, я пробовал lastInsertId, однако это не сработало. В качестве альтернативы я использовал returning на конце моей вставки. Однако это использовало pg_sql. Как использовать линию возврата с PDO? Я придерживаюсь логики получения значения, отображаемого с использованием PDO во втором варианте.Вставка Возврат последнего идентификатора с PDO

PHP 5.1.6

Ниже

не работает

$stmt ->execute(); 
$newsheetID = $conn->lastInsertId('sheet_id'); 
echo $newsheetID . "last id"; 

работает, но pg_sql, я хотел бы получить эту работу для PDO

$sql = "INSERT INTO sheet_tbl (site_id, username, additionalvolunteers) VALUES ('$_POST[site_id]', '$username','$_POST[additionalvolunteers]') returning sheet_id"; 

echo $sql; 
$result = pg_query($sql); 
while ($row = pg_fetch_row($result)) { 
$sheet_id_post = $row[0]; 
echo $sheet_id_post . '<br/>'; 
+0

Разве вы не задали тот же вопрос? Вы знаете, что с тем же вопросом считается нечестным поведением. –

+0

Нет, я изменил вопрос, первый вопрос вчера был основан на lastInsertid, этот вопрос смотрит вместо этого на использование. Хотя, хотя это другой метод, лучше было создать новый вопрос, а не редактировать существующий, поскольку это вызовет больше путаницы, поскольку оно изменяет область действия. – Tom

+0

А, я вижу сейчас. Ну, почему бы вам не попробовать получить результат с помощью обычных методов PDO? –

ответ

0

Ваш ищет для этого, если вы не можете получить lastInsertId работать, это будет делать эту работу, пару дополнительных линий Тхо:

   foreach ($stmt as $row) 
      { 
       $sheet_id_post = $row[0]; 
       echo $sheet_id_post; 
      } 

Вы всегда можете Msg меня. Или перейдите на сайт php, ищите аналогичный цикл и измените его, мой ответ очень похож на ваш, и когда я впервые это сделал, я просто пошел на php.net :-)

+0

Кто-нибудь, чтобы объяснить, для чего нужен цикл foreach? –

Смежные вопросы