Mailinglisten-Archive |
Moin Norbert, > wenn ich mit mysql_db_query(); ein UPDATE absetze, erhalte ich > <zitat> > eine Ergebnis-Kennung als Referenz auf das Anfrageergebnis, > oder FALSE im Fehlerfall > <zitat/> <zitat> Note: This function has been deprecated since PHP 4.0.6. Do not use this function. Use mysql_select_db() and mysql_query() instead. </zitat> > also fetch ich das 'Anfrageergebnis', was immer das ist, und > erhalte _immer_ 'N' zurueck, eigentlich hatte ich mich auf die > 'affected rows' gefreut, aber das war wohl nix... :-(( Hmm, wäre das mit "Abfrageergebnis" übersetzt würde es mehr Sinn machen: Ok, das Problem des Rückgabewertes liegt darin, dass die PHP-Funktion mysql_query mehrere Operationen durchführt: Zum ersten den Api Call mysql_real_query der TRUE oder FALSE zurückliefert. Hier liefert Dir die PHP mysql_query Funktion TRUE oder FALSE zurück falls was nicht klappte - bestes Beispiel sind hier Syntax-Errors. Als nächstes wird je nachdem ob Du mysql_query oder unbuffered_query verwendest mysql_use_result oder mysql_fetch_result aufgerufen. Dies geschieht immer da die PHP Funktion die Syntax der SQL-Query nicht parst. Sinn würde das nur bei SELECT Statements machen. Im Falle von UPDATE oder DELETE gibt es natürlich kein Resultset, daher auch ein FALSE als Rückgabewert. Ich werde mal einen kleinen Bugreport schreiben, damit das in der Dokumentation geändert wird und klarer ersichtlich ist. > Frage: > wie kommt man denn nun an die 'affected rows' ? <gruebel> <zitat> mysql_affected_rows -- Get number of affected rows in previous MySQL operation </zitat> Gruss und schönes Wochenende Georg
php::bar PHP Wiki - Listenarchive