Abfrage problem mit Function

  • PHP

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Dodo.

    Abfrage problem mit Function

    Hallo Leute,
    Ich bins mal wieder.
    Ich bin mir gerade eine Klasse am schreiben die diverse functionen beinhaltet so das ich diese nicht immer 30 000 mal neu schreiben muss.

    Alles soweit, sogut. Das erste mal funktioniert die Function auch wenn ich nun jedoch auf einer 2ten Seite die gleiche function aufrufe, bekomme ich einen Fehler.

    Hier der Code zur Function:

    PHP-Quellcode

    1. class game {
    2. //Funktion zum auslesen von allen Daten
    3. function ausgabe($var)
    4. {
    5. $id = 1;
    6. $query = mysql_query('SELECT ' . $var . ' FROM spieler WHERE ID = ' . $id . '');
    7. $result = mysql_fetch_object($query) or die (mysql_error());
    8. return $result->$var;
    9. }


    Die function rufe ich so auf:

    PHP-Quellcode

    1. <?php echo $game->ausgabe('Nahrung'); ?>

    $game ist ganz oben definiert ($game = new game;)

    Nun noch die Fehlermeldung:
    Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\xampp\htdocs\browsergame\functions.php on line 14
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM spieler WHERE ID = 1' at line 1


    Er bekommt keine daten was jedoch nicht sein kann da die Tabelle, die Spalte und ein wert (0) existiert

    *EDIT*
    Line 14 ist der mysql_query teil

    Anscheint machst du nicht beide Male das gleiche, er sagt dir ja in der Fehlerbeschreibung auch ganz deutlich wo dein Fehler sitze, nämlich in der nähe von "From spieler ..." in deinem SQL Query String. Was heißt das für dich? Genau, dir einfach mal den Query ausgeben lassen, das ganz normales logisches Debugging.

    PHP-Quellcode

    1. function ausgabe($var)
    2. {
    3. $id = 1;
    4. $sql = 'SELECT ' . $var . ' FROM spieler WHERE ID = ' . $id;
    5. $query = mysql_query($sql);
    6. $result = mysql_fetch_object($query) or die (this->sqlError($sql, mysql_error()));
    7. return $result->$var;
    8. }
    9. function sqlError($sql, $errMsg) {
    10. echo "Fehlermeldung: ".$errMsg."<br />";
    11. echo "Query: ".$sql;
    12. }