mysql_num_rows funktioniert nicht!

el_espiritu

Mitglied
Folgender Code:
PHP:
$abfrage = mysql_query("SELECT * FROM tagesstatus WHERE server_id
= '$server_id' AND tag_bedient = '$betrieb' AND tag_aktiv = 1 AND
tag_stoerstart_zeit BETWEEN '$startdatum' AND '$stopdatum' AND MID
(tag_stoerstart_zeit,9,2) = '$j'");
    $data = mysql_num_rows($abfrage);
    echo $data;
    exit;
Egal was in der DB drin steht, ich bekomme immer "0" zurück. Und ich habe definitiv geschaut, es steht was in der Datenbank drin. Die Abfrage 100%ig (es geht hier wirklich nur um die "mysql_num_rows"-Funktion), da ich mit Hilfe dieser eine Array erzeuge und ein Diagramm generiere.
Ich muss nun nur noch prüfen, das wenn in der DB nix drin steht, er kein Diagramm generiert. Aber das ja nicht, siehe oben.....Wo liegt das Problem

:confused: :confused: :confused:
 
Genau. Hast du so etwas wie phpmyadmin auf dem Server laufen ? Wenn ja, da gibt es eine SQL EIngabebox. Geb da mal das Query ein und guck, ob es Resultate liefert.
 
Hi
bin zwar nicht die leuchte

aber muss da nicht ein hochkomma hin

AND tag_aktiv = 1 AND
AND tag_aktiv = '1' AND

greetz
ultrasonic
 
Kann nicht schaden: mach mal eine Abfrage "SELECT * FROM" ohne weitere clauses.

Wenn dann mysql_num_rows immer noch nicht funktioniert, dann scheint wirklich etwas eigenartig zu sein (Immerhin glaube ich an die Chaostheorie).

Zu tag_aktiv: kommt darauf an, was das für ein Feld ist
 
Nein, wie gesagt, es wundert mich ja auch selber, die SQL Abfrage stimmt 1000%ig, mache ich das "exit" weg ist mein Diagramm mit den Werten, die aus der Datenbank gelesen werden, da. Es muss an was anderem liegen!
 
Trotz Chaostheorie kann ich mir das kaum vorstellen. Die Kriterien deiner Abfrage sind ja ziemlich komplex. Es muss also ein kleines Problem geben.

<übertreib>
Da ich dein Diagramm und die Anweisungen dazu nicht kenne, weiß ich nicht ob die Anzeige dessen ausreicht, um eine Behauptung aufzustellen, die besagt, die Abfrage sei korrekt (bzw. semantisch korrekt, syntaktisch korrekt ist sie ja).
</übertreib>
 
habe das Problem auch

Hi Leutz,

Kenne das Prob, das Mysql_num_rows nicht .
meiner Meinung nach liegt das an der PHP-Version oder aber
an der config.

Meine Scripte laufen mit dem Befehl bei meinem Hoster einwandfrei - zu Hause auf meinem Server (ich habe die neuesten Versionen - LAMP) bekomm ich auch die Fehlermeldung.

Ich löse es zur Zeit mit dieser Variante:

I
PHP:
// Feststellen der Anzahl der verfügbaren Datensätze.
                        $resultID = @mysql_query("SELECT COUNT(id) FROM ".$table);
                        $total    = @mysql_result($resultID,0);

Man braucht nur "mysql_num_rows" durch "$total" zu ersetzen - fertig.

Vielleicht konnte ich ja helfen.,...

Greetz---
 
OK Leute, beruhigt euch, ich hab des Rätsels Lösung:
Es lag indirekt schon an der Abfrage, und zwar an dem letzten Teil "$j". Dieser Wert wird von einer "for"-Schleife erzeugt, und die ganze Abfrage befindet sich in dieser Schleife. :-)
Deshalb hat "mysql_num_rows" nicht funktioniert. Habe das Problem gelöst indem ich dieselbe Abfrage einfach vor der Schleife nochmal gemacht hab und dort überprüfe ich nun ob Datensätze vorhanden sind oder nicht.
trotzdem danke an Alle für die schnellen Antworten.
;)
 
Zurück