Dr. Lecter: Skriptfehler (PHP & MySQL)

Hi :)

Folgender PHP-Code:

mysql_connect($hostname,$username,$password) or die("Impossible to access database.");
 mysql_select_db($dbName) or die("Impossible to select database.");

$query="SELECT * FROM $tableName ORDER BY date, time";
 $res=mysql_query($query);
 $number=mysql_numrows($res);

ergab die Fehlermeldung "Warning: Supplied argument is not a valid MySQL result resource in (letzte kopierte Zeile)". Was könnte da falsch laufen? Ich habe die Zeilen aus einem anderen, funktionierenden Skript kopiert, nur $query ist geändert, der Code sollte also eigentlich korrekt sein...

Gruss
Dr. Lecter

  1. Hi :)

    Folgender PHP-Code:

    mysql_connect($hostname,$username,$password) or die("Impossible to access database.");
    mysql_select_db($dbName) or die("Impossible to select database.");

    $query="SELECT * FROM $tableName ORDER BY date, time";
    $res=mysql_query($query);
    $number=mysql_numrows($res);

    müsste das nicht $number=mysql_num_rows($res); heissen? (oder geht das auch so?)

    ergab die Fehlermeldung "Warning: Supplied argument is not a valid MySQL result resource in (letzte kopierte Zeile)". Was könnte da falsch laufen? Ich habe die Zeilen aus einem anderen, funktionierenden Skript kopiert, nur $query ist geändert, der Code sollte also eigentlich korrekt sein...

    Der Fehler sagt dir, das das Ergebnis deines SQL-Befehls kein gültiges MySQL-Ergebnis ist.
    Am besten checkst du erstmal mit print mysql_error(); welches Problem MySQL mit deiner SQL-Anweisung hat.

    gruss

    Thorsten

    1. müsste das nicht $number=mysql_num_rows($res); heissen? (oder geht das auch so?)

      Das geht auch so :)

      Der Fehler sagt dir, das das Ergebnis deines SQL-Befehls kein gültiges MySQL-Ergebnis ist.
      Am besten checkst du erstmal mit print mysql_error(); welches Problem MySQL mit deiner SQL-Anweisung hat.

      Danke, das hat geholfen... MySQL hat mir jetzt nämlich mitgeteilt, dass es schon bei der Erstellung des Tables einen Fehler gegeben hat %-), und den habe ich jetzt korrigiert.

  2. $query="SELECT * FROM $tableName ORDER BY date, time";
    $res=mysql_query($query);
    $number=mysql_numrows($res);

    $query='SELECT * '
          .'FROM '.$tableName.' '
          .'ORDER BY date,time';
    echo $query; /* [1] */
    [...]
    $number=mysql_numrows($res);
                    ^^^ mysql_num_rows()

    [1] Ich trau mich wetten, $tableName ist nicht definiert, leer, wird nicht übergeben (register_globals=off), ...