Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [postgresql/php] zwrocenie wartości typu serial przy insercie
Forum PHP.pl > Forum > Przedszkole
wojtekw
Czy wykonując poprzez pg_query zapytanie insert mogę jako wartość zwracaną otrzymac jaką wartość w kolumnie z atrybutem auto_increment przydzielił serwer BD ?
nospor
Na postgresie sie nie znam, ale znam linka do manuala a tam jest napisane, ze pg_query ci tego nie zwroci:
http://pl2.php.net/manual/pl/function.pg-query.php
Cytat
pg_query() zwraca identyfikator wyniku jeśli zapytnie zostało wykonane lub FALSE w razie niepowodzenia.

Drążąc dalej manuala znajdujemy:
http://pl2.php.net/manual/pl/function.pg-last-oid.php
Cytat
This is very useful function smile.gif

function sql_last_inserted_id($connection, $result, $table_name, $column_name) {
$oid = pg_last_oid ( $result);
$query_for_id = "SELECT $column_name FROM $table_name WHERE oid=$oid";
$result_for_id = pg_query($connection,$query_for_id);
if(pg_num_rows($result_for_id))
$id=pg_fetch_array($result_for_id,0,PGSQL_ASSOC);
return $id[$column_name];
}

Call after insert, simply winksmiley.jpg

Moze ci sie przyda, a jak nie to podrąż tego manuala juz sam smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.