Fehlersuche. Finde ihn nicht

funnyzocker

Erfahrenes Mitglied
Ich habe Folgenden Code
PHP:
<?php
include("dbconnect.php");
mysql_connect($mysqlhost, $mysqluser, $mysqlpassword);
mysql_select_db($mysqldb);
$query = mysql_query("SELECT 77 FROM tips ");
while($dbdata = mysql_fetch_array($query)) 

$query2 = mysql_query("SELECT spiel77 FROM gezogen ");
while($dbdata = mysql_fetch_array($query2))
 
  $number1 = "$dbdata[spiel77]"; 
  $number2 = "$dbdata[77]"; 
  $match = TRUE; 
  $matches = 0; 

  while( ($match != FALSE) && ($matches < 7) ) { 
    if( substr($number1, (6-$matches), 1) != substr($number2, (6-$matches), 1) ) { 
      $match = FALSE; 
    } else { 
      $matches++; 
    } 
  } 
  echo($matches); 
  
?>
Dieses Scipt soll aus 2 Tabellen die Daten holen . Und diese sollen dann verglichen werden. Von hinten. Folgend soll dann die Anzahl der Übereinstimmungen ausgegeben werden
Leider bekomme ih folgende Fehlermeldung

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in F:\web\htdocs\77.php on line 6

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in F:\web\htdocs\77.php on line 9
7

Was habe ich Falsch gemacht?
 
ich hätte es eventl. so gemacht :


PHP:
 $query = mysql_query("SELECT 77 FROM tips "); 
while($dbdata = mysql_fetch_array($query)) 
{
$number1 = $dbdata[77];
}

$query2 = mysql_query("SELECT spiel77 FROM gezogen "); 
while($dbdata = mysql_fetch_array($query2)) 
{
$number2 = $dbdata[spiel77];
}
 
Möglicherweise überschreiben sich die Variabeln hier

while($dbdata = mysql_fetch_array($query))

$query2 = mysql_query("SELECT spiel77 FROM gezogen ");
while($dbdata = mysql_fetch_array($query2))


Also die $dbdata Variable.
 
PHP:
<?php
include("dbconnect.php");
mysql_connect($mysqlhost, $mysqluser, $mysqlpassword);
mysql_select_db($mysqldb);
$query = mysql_query("SELECT 77 FROM tips "); // Heißt die Spalte auch wirklich "77" oder "spiel77"?
while($dbdata = mysql_fetch_array($query)) // $dbdata ist hier schon deklariert
{
    $query2 = mysql_query("SELECT spiel77 FROM gezogen ");
    while($dbdata2 = mysql_fetch_array($query2)) // deswegen hier $dbdata2 
    {
        $number1 = "$dbdata2[spiel77]"; 
        $number2 = "$dbdata2[77]"; 
        $match = TRUE; 
        $matches = 0;
    }

    while( ($match != FALSE) && ($matches < 7) ) 
    { 
        if( substr($number1, (6-$matches), 1) != substr($number2, (6-$matches), 1) ) 
        { 
            $match = FALSE; 
        } 
        else 
        { 
            $matches++; 
        } 
    } 
} // Und die Klammern bei JEDEM while nicht vergessen!

echo($matches); 
  
?>
 
Zuletzt bearbeitet:
Mein Gott, die Fehlermeldung sagt doch alles: Dein SQL-Statement ist fehlerhaft, deshalb kann mysql_fetch_array daraus keine Daten ziehen.
 
wie bereits schon geschrieben wurde, liefert Dein query als Ergebnis 0 bzw. FALSE. benutze mysql_error() oder mysql_errno() um den genauen Fehler herauszufinden.
 
Zurück