DBD::mysql::st fetchrow failed: fetch() without execute()

Dieses Thema im Forum "SQL und Datenbanken" wurde erstellt von aktivfrühstück, 24.01.2008.

  1. #1 aktivfrühstück, 24.01.2008
    Zuletzt bearbeitet: 25.01.2008
    aktivfrühstück

    aktivfrühstück Eroberer

    Dabei seit:
    19.03.2007
    Beiträge:
    66
    Zustimmungen:
    0
    Hey Leute,

    habe folgenden Fehler bei dem Zugriff auf eine MYSQL Datenbank in einem Perl-Skript:


    DBD::mysql::st fetchrow failed: fetch() without execute() at /opt/apache/cgi-bin/ranking_ausgabe.pl line 445.



    Zur Errinnerung:

    Code:
    $query = "SELECT distinct ... ORDER BY urteil DESC";
    		$sts = $mysql_dbh->prepare($query);
    
    		if (!defined($sts))
    		{
    			
    		}
    
    		if (!$sts->execute)
    		{
    			
    			ende();
    		}
    
    		if($sts)
    		{
    			while(@data = $sts->fetchrow)
    			{
    				if($anzahl_eintraege>0)
    				{
                                     .....
                                    }
                            }
                    }
    
    so in etwa sieht das ganze aus, wo die Fehlermeldung angepriessen wird.

    So jetzt könnte man sagen, wer Englisch kann ist klar im Vorteil:)
    aber:
    komischerweise funktioniert das Programm so wie es soll, die Daten werden mit dem query aus der Datenbank geholt und korrekt verabreitet... dennoch kommt beim Start dieses Programms immer diese Fehlermeldung... Und die if- Schleife mit Sprung zu ende(); wird auch nicht ausgeführt...

    Die Syntax passt... Hatte schonmal jemand selbiges Problem???(


    Grüße an alle!8)
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Wolfgang, 24.01.2008
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Sorry, aber aus diesem Schnipsel lässt sich kein Rückschluß ziehen.
    Da muss schon ein wenig mehr kommen.
    Z.B. die Zeilenzahl der vermeindlichen Fehlerstelle.
    oder der Teil wo execute ausgeführt wird.
    Oder ob das Script mit warnings und strict läuft.

    Das möglichst in [code] Tags.

    Hellsehen kann hier keiner.
     
  4. #3 aktivfrühstück, 25.01.2008
    Zuletzt bearbeitet: 25.01.2008
    aktivfrühstück

    aktivfrühstück Eroberer

    Dabei seit:
    19.03.2007
    Beiträge:
    66
    Zustimmungen:
    0
    Hey, Hellsehen soll hier auch keiner, auch wenns toll wäre:)

    Das Skript läuft mit strict, nicht mit warnings.

    Die Zeilennumer des Fehlers wird immer bei folgender Zeile angegeben:

    Code:
    while(@data = $sts->fetchrow)
    
    Was meinst du mit dem Teil wo execute ausgeführt wird?
     
  5. #4 Wolfgang, 25.01.2008
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Dann ordne das mal in die richtige logische Reihenfolge:
    Code:
    $query = "SELECT distinct ... ORDER BY urteil DESC";
    		$sts = $mysql_dbh->prepare($query);
    
    		if($sts->execute)
    		{
    			while(@data = $sts->fetchrow)
    			{
    				if($anzahl_eintraege>0)
    				{
                                     .....
                                    }
                            }
                    }
                     else
    ## hier die Fehlerabfragen.
    
     
  6. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

DBD::mysql::st fetchrow failed: fetch() without execute()