Abfrage scheint ller zu sein :(

PhoenixDH

Erfahrenes Mitglied
Ich habe hier ein Problem mit folgender Query:
Code:
  while( $arcade = mysql_fetch_array($r_arcade) )
    {

    .......

      $r_score = thwb_query("SELECT id, scores_name, scores_u_name, scores_result FROM ".$pref."arcade_scores WHERE scores_name='" . $arcade[arc_name] . "'");
      $score = mysql_num_rows($r_scores);

      if( $score )
      {
      $highscore = $score['score_u_name'];
      }

      ......
}

DIese Query sollte aus einer Tabelle, in der die Highscores zu Spielen stehen, immer das entsprechende auslesen.

Doch die Variable scheint immer leer zu sein, woran kann das liegen ?
 
hi,
erstmal ist es immer die gleiche vorgehensweise. teste deine abfrage ohne script, um festzustellen, ob sie ein brauchbares ergebnis liefert.
 
Ich habe es auch schon nur mit einem Script zur ABfrage versucht:
Code:
      $r_score = thwb_query("SELECT id, scores_name, scores_u_name, scores_result FROM ".$pref."arcade_scores WHERE scores_name='Asteroids'");
      $score = mysql_num_rows($r_score);

      $highscore = $score['score_u_name'];
      
      echo $score;
      echo $highscore;

das
Code:
echo $score;

liefert mir eine 1, also steht was drin, aber das
Code:
echo $highscore;

ist leer, was dann ja nicht der Fall sein dürfte !
 
hi PhoenixDH,
vielleicht schreibe ich ja undeutlich.
mach doch einfach deinen db-client auf und fuehre das select-statement direkt aus.
vielleicht steht einfach nicht mehr in deiner db.
dann teste mal, ob du zwei tabellen mit einer aehnlichen struktur hast.
steht in $pref wirklich der wert der dort sein sollte?
 
Hast Du Dir Dein Statement schon mal mit echo ausgeben lassen? Damit kann man meistens ganz gut nachvollziehen, ob das Statement in Ordnung ist.
Also so:
PHP:
$r_score = thwb_query("SELECT id, scores_name, scores_u_name, scores_result FROM ".$pref."arcade_scores WHERE scores_name='Asteroids'");
echo $r_score."<br />";
$score = mysql_num_rows($r_score);

redlama

P.S. waterhouse533-lp, bitte achte auf Deine Groß-/Kleinschreibung. Darauf wird hier sehr viel Wert gelegt (siehe Netiquette).
 
Hallo redlama,
vielen Dank für Deinen Hinweis. Ich werde zukünftig immer ordentlich schreiben.
Nun zum Befehl echo. Gerade Du als Programmierexperte solltest wissen, dass die Verwendung jeglicher Art von Standardausgabebefehlen zur Kontrolle von Variablenzuständen der erfolgreichen Programmierung widerspricht.
Dafür wurden die Debugger gebaut. Leider können diese nicht die DB checken.
Deswegen mache ich den Vorschlag zuerst die Daten in der Tabelle zu verifizieren.
Wenn die Tabelle in Ordnung ist, wird das Script geprüft.
 
Ist ja auch kein Wunder das keine Daten da sind - sie werden schlicht nicht
geholt
mit mysql_num_rows wird nur die anzahl der verfügbaren Datensätze ermittelt
abholen geht z.B. mit mysql_fetch_array und das fehlt in deiner while Schleife

PS Klar wird PHP mit echo "debugt" :)
 

Neue Beiträge

Zurück