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

PHP, Ajax, CSS, HTML, Javascript
Eben für die wirklich Harten, die alles selber machen.
Antworten
MADxHAWK
Beiträge: 132
Registriert: Mi 15.Nov, 2006 13:40
Wohnort: Bonn
Kontaktdaten:

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

Beitrag 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
Zuletzt geändert von MADxHAWK am Mi 07.Feb, 2007 22:54, insgesamt 2-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag 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) ) {
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
MADxHAWK
Beiträge: 132
Registriert: Mi 15.Nov, 2006 13:40
Wohnort: Bonn
Kontaktdaten:

Beitrag 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
Antworten