Mailinglisten-Archive |
Hallo Nachteulen Das ist unsere Standard-Update-Funktion, an die ein sql-String uebergeben wird. # Gibt "false" zurück, falls Update fehl schlägt Function pg_Update($squ,$db=DEF_DATABASE_NAME) { global $CONN; // hier kommt der Connect pipapo, wenn der fehlschlaegt, wird einer hinterhergeschoben CONNECT($db); if (!($result=_(at)_pg_Exec($CONN[$db][0], $squ))) { pg_reconnect($db); if (!($result=_(at)_pg_Exec($CONN[$db][0], $squ))) { error_log(date("[Y-m-d H:i:s ").microtime()."] Fehler bei Update...Email und so...);}} if ($result) { // die Funktion entspricht den affected rows bei mysql $rws=_(at)_pg_cmdtuples($result);} else { $rws=false;} return $rws;} Wenn ein Update aus irgendwelchen Gruenden nicht klappt, $upd = irgendein kranker Update ist $upd false und ich kann mit if (!$upd) weitermachen. In einer Tabelle, in der eher upgedated als inserted wird, habe ich das auch so gemacht, dass erstmal ein Update probiert wird, und wenn der fehlschlaegt, dann wird ein Insert gemacht. Beispiel ein skript, das die referer zaehlt. if ($url) { $check = strstr($url,$domain); if (empty($check)){ $upd = pg_Update("update wrreferer set klicks_in = klicks_in+1 where url_ref = '$url';"); if (!$upd) { $ins pg_Insert("insert into wrreferer values ('$url', 1);"); } } } (pg_insert ist auch selbstgestrickt, mit dem $CONN-Vorspann) Hilft Euch die Auskunft weiter, oder soll ich was testen? > "PostgreSQL - professionell und praxisnah", Das kann man empfehlen. Gruss Conni
php::bar PHP Wiki - Listenarchive