Seite 1 von 1

mysql_fetch_array(): supplied argument is not a valid ...

Verfasst: Mi 07.Feb, 2007 21:00
von MADxHAWK
Hi, ich habe folgendes problem:
wenn ich die folgenden sql abfrage per php ausführe bekomme ich die fehlermeldung
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in G:\htdocs\orion\includes\topsite_ranking.php on line 102
sql query

Code: Alles auswählen

SELECT * FROM orion_topsite_sites sites, orion_topsite_stats stats 
WHERE sites.id = stats.id 
AND active = 1 
ORDER BY 
(unq_pv_0_daily + 
unq_pv_1_daily + 
unq_pv_2_daily + 
unq_pv_3_daily + 
unq_pv_4_daily + 
unq_pv_5_daily + 
unq_pv_6_daily + 
unq_pv_7_daily + 
unq_pv_8_daily + 
unq_pv_9_daily + 0) / 10 
DESC LIMIT 0, 10
in phpmyadmin funktioniert die abfrage problemlos ohne fehlermeldung.

die weiterverarbeitung des query ist wie folgt :


Code: Alles auswählen

          $sql = "SELECT * FROM " 
                 . $table_prefix . "topsite_sites sites, " 
                 . $table_prefix . "topsite_stats stats
                 WHERE sites.id = stats.id AND active = 1 $sql_cat
                 ORDER BY $rank_by DESC
                 LIMIT " . $start . ", "  . $config['num_list'];         

          if (!( $result = $db -> sql_query($sql) ) ) {
              message_die (GENERAL_ERROR, 'Could not query data', '', __LINE__, __FILE__, $sql);
          } 
          
          $result = mysql_query($sql);
          $count = mysql_num_rows($result);
          $rank = $start;
          
          while ( $row = $db -> mysql_fetchrow($result) ) { // <-- diese zeile verursacht den fehler
              $rank = $rank + 1;
  
EDIT: Sch... den Fehler gefunden zu haben. Ich hatte in der WHILE Schleife eine weitere SQL Anweisung die Daten zurück in die DB schreibt. Ich hab die Daten in ein Array anstatt direkt in die DB geschrieben, die SQL Anweisung aus der Schleife genommen und die Daten anschliessend aus dem Array herraus in die DB geschrieben. Danach bekam ich keine Fehlermeldung mehr.
Scheint so als könne man keine SQL Anweisung in einer Schleife die SQL Daten verarbeitet einsetzten ??


für hilfe währe ich dankbar

Gruss
Martin

Verfasst: Do 08.Feb, 2007 00:11
von oxpus

Code: Alles auswählen

while ( $row = $db -> mysql_fetchrow($result) ) { // <-- diese zeile verursacht den fehler
Korrekter wäre

Code: Alles auswählen

while ( $row = mysql_fetchrow($result) ) {
oder wenn es in einem phpBB läuft auch

Code: Alles auswählen

while ( $row = $db->sql_fetchrow($result) ) {

Verfasst: Do 08.Feb, 2007 13:15
von MADxHAWK
Hi Oxpus,

mal wieder danke für die schnelle antwort ;)

habs ja noch hinbekommen, so langsam aber sicher komm ich dahinter wie es geht

Gruss
Martin