Mailinglisten-Archive |
Jonathan Schneider said: > ich will feststellen, wie viele Datensätze sich in meiner > Datenbank befinden. dafür verbinde ich mich zuerst mit: [...] > Soweit noch kein Problem. Dann versuche ich mit folgendem Code an > die anzahl der Datensätze ranzukommen: > <code> > $sql = mysql_db_query("SELECT id FROM Guestbook", $conn); > if($sql = "FALSE") > { > echo mysql_error($sql);/* Zeile 6 */ > } > else > { > echo "TRUE!!!"; > } > $anzahl = mysql_affected_rows($sql);/* Zeile 12 */ > </code> [...] Moin, da gibt´s gleich zwei Problemstellen: 1. Sowohl mysql_error() als auch mysql_affected_rows() erwarten als Parameter ein MySQL connection handle, also das, was bei Dir in der Variable $conn steht. In $sql, was Du jetzt übergibst, steht nur der Pointer auf das Ergebnis Deiner Query. Im Sinne der besseren Lesbarkeit Deines Codes solltest Du die Ergebnisvariable evtl. lieber $result oder $ergebnis nennen statt $sql - das macht die Sache deutlicher. 2. mysql_affected_rows() funktioniert nur mit INSERT, UPDATE und DELETE queries, Du versuchst aber einen SELECT. Für Problem zwei gibt´s auch wiederum zwei Lösungen: 1. Ändere die Query. Wenn Du einfach nur die Datensätze zählen willst, ohne tatsächlich etwas auszulesen, bietet sich diese Variante an: SELECT COUNT(id) AS anzahl FROM Guestbook Zurückgeliefert wird ein Feld "anzahl" mit, nunja, der Anzahl der Einträge. 2. Wenn Du sowieso alle Datensätze auslesen und nur zusätzlich wissen willst, wieviele Einträge es insgesamt sind, benutze die Funktion mysql_num_rows() statt mysql_affected_rows(). In Deinem Beispiel sähe das dann so aus: $anzahl = mysql_num_rows($sql); Und ja, _hier_ ist es tatsächlich das resultset, auf das sich bezogen wird (macht ja auch Sinn, denn schließlich gibt´s hier ja auch eins im Gegensatz zu mysql_error() oder ...affected_rows()). So, ich hoffe das hilft... jetzt geht´s für mich erstmal ab in die Heia ;-) Gruß, Markus -- Nur noch eine Woche Zeit zur Anmeldung zum Workshop "Webapplikationen mit PHP" bei akademie.de - jetzt buchen! http://akademie.de/websiteaufbau/workshops/info/index.html?ws_id=189 *21st Media* | Markus Wolff | Hamburg, Germany | http://www.21st.de/
php::bar PHP Wiki - Listenarchive