Selected leer?
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
abnehmen
anzahl
arbeit
code
datenbank
eins
ende
ergebnis
gefunden http
handbuch
jemand
leer echo
liefern
mache
passendes ergebnis
schleife
senden
stehen
testen
-
Hallo,
wenn ich einen SQL-Query (SELECT ...) an eine DB schicke, dann bekomm ich ja normalerweise ein Result zurück.
Wie kann ich jetzt am besten überprüfen ob da was selectet wurde.
Also wenn ich das Result jetzt mit zB mysql_fetch_assoc durchgehe dann bin ich am Ende auf FALSE (wenn die while Schleife durch ist). Also kann ich nicht auf FALSE überprüfen.
Was ginge wäre eine Hilfsvariable, aber geht das nicht schöner?
PS.: Hoffe ihr wisst was ich mein.
Also um zB zu Testen ob zB bei einem Newsscript News in der Table stehen oder nicht.
Wenn nicht soll halt keine News vorhanden oder so stehen, ansonsten eben die News... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ich habe das hier gefunden: http://www.php-resource.de/handbuch/function.mysql-num-rows.htm
Mit mysql_num_rows werden die Datensätze der Select-Abfrage gezählt.
Also müsste if(mysql_num_rows) ein passendes ergebnis liefern.
Hmm, nja, dann gehts wohl nicht schöner.
Also dann wärs wohl besser wenn ich eine Hilfvariable mache, den dann muss ich nicht unnötig zwei Mal den Query senden.
Thx, oder hat jemand eine andere Lösung? -
$result = mysql_query(\"SELECT * FROM news\"); if(mysql_num_rows($result)) { while($row = mysql_fetch_assoc($result)) { // .... } } else { echo \"Keine News in der datenbank!\"; }
-
Ja genau, aber da kommt ja folgendes ressoucenschonender, nicht:
$result = mysql_query(\"SELECT * FROM news\"); $leer = 0; while($row = mysql_fetch_assoc($result)) { $leer = 1; // .... } if($leer == 0) { echo \"Keine News in der datenbank!\"; }
Oder?
-
$result = mysql_query(\"SELECT * FROM news\"); $leer = mysql_num_rows($result); if($leer <= 0) { echo \"Keine News in der datenbank!\"; }else{ while($row = mysql_fetch_assoc($result)) { // .... } }
So würde ich es machen. -
$result = mysql_query(\"SELECT * FROM news\"); $leer = mysql_num_rows($result); if($leer <= 0) { echo \"Keine News in der datenbank!\"; }else{ while($row = mysql_fetch_assoc($result)) { // .... } }
So würde ich es machen.
Ja aber das sendet dann ja zwei Queries, wobei.
Nja.
Ok.
Aber meins würde ja auch gehen nicht? -
Wo sind da zwei Queries? Du sendest eins mit mysql_query an die Datenbank und liest dann erst mit mysql_num_rows die Anzahl aus und später mit mysql_fetch_assoc die Ergebnisse. Da bleibt es doch immer bei einem Query, oder seh ich das falsch?
Deine würde schon auch gehen, aber warum so umständlich, wenn MySQL einem die Arbeit abnehmen kann. -
Wo sind da zwei Queries? Du sendest eins mit mysql_query an die Datenbank und liest dann erst mit mysql_num_rows die Anzahl aus und später mit mysql_fetch_assoc die Ergebnisse. Da bleibt es doch immer bei einem Query, oder seh ich das falsch?
Deine würde schon auch gehen, aber warum so umständlich, wenn MySQL einem die Arbeit abnehmen kann.
..., wobei.
Nja.
Ok.
;)
Ja hast schon recht, thx. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage