Techniken einfügen in einem browsergame

  • Hoffe verständlich was ich meine oO
    Also ich hab jetzt mal ne neue Tabelle mit Technicken erstellt ka ob das umsetzbar is wie ich es vor hab auf jeden Fall hab ich als Datensätze: id, technick und dmg (=damage der technick).
    Nun ja dann kommt der teil wo man drauf klicken muss wenn man die technick lernen will:


    also hab bisher erst 2 Technicken.


    dann der teil wohin es gesendet wird:

    Nun ja nachdem ich das alles gemacht hab wird diese technick jedoch nicht in die liste erstellt. Weiß nich genau wie ich es anders machen könnt hoffe es kann mir hier einer helfen.
    MfG: Inuyasha2008

  • Technik

    Niemand nickt dabei!


    Richtig debuggen
    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(E_ALL); und ini_set("display_errors", true);
    3. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    4. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
    5. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    6. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    7. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    8. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

  • ja hab ich und da kommt das raus: MySQL-Fehler: Unknown column 'sankontessou' in 'field list'
    nun ja es soll sankontessou ja nich geben als tabelle es soll nur bei technicken rein gecshrieben werden oO ka wieso es das nicht tut also wenn ich werte um 1 erhöhen will klappt es wenn ich aba ein neues wort einfügen will wie man oben sieht klappts nich...
    hatte diesen Mysql Fehler bisher auch noch nie.. sry

  • Wenn es eine leere Tabelle ist, ist ein "update" verhältnismäßig sinnlos. Und es heißt Technik

  • also hab das mit dem update geändert ka was ich mir dabei gedacht hab oO also habs jetzt mitINSERT INTO gemacht das sieht dann so bei mir aus:

    PHP
    if (in_array($technick, $numbers))
         $add2[] = "`technick` = 'sankontessou'" AND "`dmg` = '50'";

    und dann unten:

    PHP
    if (count($add2))
       {
          $query = "INSERT INTO technicken ('technick', 'dmg') VALUES (" . implode(", ", $add2) . " )";

    dann bekomm ich als fehlermeldung:

    MySQL-Fehler: 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 ''technick', 'dmg') VALUES (`technick` = 'sankontessou' )' at line 1


    was genau meint man jetzt damit?

    Einmal editiert, zuletzt von Inuyasha2008 (6. November 2009 um 14:12)

  • Tabellen- und Spaltennamen gehören in `Backticks`, nicht in Hochkommas.
    Außerdem solltest du dir die genaue Syntax von INSERT INTO noch einmal anschauen, besonders wie die VALUEs angegeben werden.

  • Du musst den Query so hinbekommen:

    Zitat


    INSERT INTO `technicken` (`technick`, `dmg`) VALUES ('Ich bin die Technik', '10000')

    und mach doch bitte die Rechtschreibkorrektur, das ist ein Unding...

    Gruß crAzywuLf :D