kostenloser Webspace werbefrei: lima-city


auf ein 3. ^^ Update funktion + fehler

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    f*******c

    ----------------
    code
    ----------------
    <?
    session_start();
    include 'secure.php';
    include 'connect.php';
    mysql_connect($host, $nutzer, $pass);
    mysql_select_db($db);
    $benutzername = $_SESSION['name'];

    // Datenbank in Variablen auslesen START
    $sql = "SELECT rohstoffe_zeit FROM game_benutzer WHERE user_username='$benutzername'";
    $sqlres = mysql_query($sql);
    $rohstoffe_zeit_alt = $row[0];
    ...So wird der Rest auch ausgelesen...

    if($rohstoffe_zeit_alt == 0)
    {$rohstoffe_zeit_alt = microtime(true);}

    $rohstoffe_zeit_neu = microtime(true);
    $abbauzeit = $rohstoffe_zeit_neu - $rohstoffe_zeit_alt;

    $add_holz = $arbeiter_holz * ($abbauzeit/3600) * 100;
    $add_stein = $arbeiter_stein * ($abbauzeit/3600) * 100;
    $add_gold = $arbeiter_gold * ($abbauzeit/3600) * 100;
    $add_nahrung = $arbeiter_nahrung * ($abbauzeit/3600) * 100;
    $add_eisen = $arbeiter_eisen * ($abbauzeit/3600) * 100;
    $add_oel = $arbeiter_oel * ($abbauzeit/3600) * 50;
    $add_strom = $arbeiter_strom * ($abbauzeit/3600) * 50;

    $holz = $rohstoffe_holz + $add_holz;
    $stein = $rohstoffe_stein + $add_stein;
    $gold = $rohstoffe_gold + $add_gold;
    $nahrung = $rohstoffe_nahrung + $add_nahrung;
    $eisen = $rohstoffe_eisen + $add_eisen;
    $oel = $rohstoffe_oel + $add_oel;
    $strom = $rohstoffe_strom + $add_strom;

    $sql = "UPDATE game_benutzer SET rohstoffe_gold = ".$gold.", rohstoffe_stein = ".$stein.", rohstoffe_holz = ".$holz.", rohstoffe_nahrung = ".$nahrung.", rohstoffe_eisen = ".$eisen.", rohstoffe_oel = ".$oel.", rohstoffe_strom = ".$strom.", rohstoffe_zeit = ".$rohstoffe_zeit_neu." WHERE user_username='$benutzername'";
    if(mysql_query($sql))
    {
    $fehler = 0;
    }
    else
    {
    die("Error: ".mysql_error());
    }
    ?>


    -----------
    fehler
    -----------
    Error: 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 '1115311527 WHERE user_username='Elektranox'' at line 1


    Also das ist f?r mein Browsergame und soll berechnen wann der user zuletzt rohstoffe bekommen hat und anhand dessen berechnen wie viel er nun bekommt. Dazu soll er kuggen wie viele Arbeiter der Benutzer hat, und diese mal der Differenz aus Jetzt und dem letzten mal rohstoffe nehmen, und das nochmal mal 50/100 weil soviel soll pro stunde abgebaut werden. Danach rechnet er das zu dem hinzu was schon in der DB war und soll es da wieder reinmachen.


    Tabelle game_benutzer: (teile weil mir alles zu viel is...)
    user_username TEXT
    rohstoffe_gold int(5)
    rohstoffe_zeit int(56)
    rohstoffe_strom int(5)
    rohstoffe_oel int(5)
    rohstoffe_eisen int(5)
    rohstoffe_holz int(5)
    rohstoffe_stein int(5)
    rohstoffe_nahrung int(5)
    arbeiter_[xx] int(5)

    [xx] = wieder stein holz...

    aso und aus der Fehlermeldung erkenne ich schon mal das der Fehler hier liegt:
    $sql = "UPDATE game_benutzer SET rohstoffe_gold = ".$gold.", rohstoffe_stein = ".$stein.", rohstoffe_holz = ".$holz.", rohstoffe_nahrung = ".$nahrung.", rohstoffe_eisen = ".$eisen.", rohstoffe_oel = ".$oel.", rohstoffe_strom = ".$strom.", rohstoffe_zeit = ".$rohstoffe_zeit_neu." WHERE user_username='$benutzername'";
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 0******a

    Also ich kann da keinen Fehler entdecken. M?glicherweise wird einer der Werte, die du da ?bergibst, nicht richtig gesetzt. Das siehst du am besten, wenn du auch noch den Inhalt von $sql per echo ausgibst, wenn ein Fehler auftritt. Schau dir die Ausgabe mal an und wenn du selbst nichts entdeckst, dann poste die Ausgabe mal.
  4. Autor dieses Themas

    f*******c

    UPDATE game_benutzer SET rohstoffe_gold = 0, rohstoffe_stein = 100000, rohstoffe_holz = 100000, rohstoffe_nahrung = 100000, rohstoffe_eisen = 100000, rohstoffe_oel = 100000, rohstoffe_strom = 100000, rohstoffe_zeit = 0.56276300 1115316068 WHERE user_username='Elektranox'


    Error: 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 '1115316068 WHERE user_username='Elektranox'' at line 1

    Ich glaube das mit der l?cke ist nicht richtig oder? also zwischen 00 und 11 direkt vor WHERE

    EDIT: JA Danke jetzt gehts =)
  5. 0******a

    Ja, genau das ist das Problem. Entweder machst du in deiner Datenbank aus der Spalte rohstoffe_zeit statt einem int(56) text oder varchar draus und setzt das dann wie den Benutzernamen in der WHERE-Klausel in Hochkommata oder oder du musst in PHP den Wert von $rohstoffe_zeit_neu so bearbeiten, dass es auch als int(56) in der DB eingetragen werden kann.
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!