kostenloser Webspace werbefrei: lima-city


Prob mit schreiben auf mySQL

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    mawes

    Kostenloser Webspace von mawes

    mawes hat kostenlosen Webspace.

    Hi,

    ich habe ein Problem mit mySQL. Ich will ein Taler (wie bei euch Gulden) entwickeln.:thumb:
    Allerdings gibt es ein Problem mit dem Schreiben auf die DB!

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Counter</title>
    </head>
    <body>
    <?php
    $db=mysql_connect("localhost","root","")
    or die ("<b>Zur Zeit kein Connect zum Datenbankserver!</b>");
    mysql_select_db("manitu")
    or die ("<b>Datenbank konnte nicht angesprochen werden</b>");
    $anfrage="SELECT * FROM test";
    $ergebnis=mysql_query($anfrage)
    or die ("<b>Fehler bei der Datenbankanfrage</b>");
    $zeile=mysql_fetch_row($ergebnis);
    //Aktuellen Stand um 5 erh?hen:
    $aktuell=$zeile[4]+5;
    //Neuen Wert schreiben
    $anfrage="UPDATE test SET taler='";
    $anfrage.=$aktuell;
    $anfrage.="'";
    mysql_query($anfrage)
    or die ("<b>Fehler bei der Datenbankanfrage</b>");
    mysql_close($db);
    ?>
    </body>
    </html>

    Wenn ich die Datei ausf?hre, dann wird nur der Stand in der mySQL-Datenbank angezeigt, der eh schon da war!
    Kann mir jemand helfen?

    mawes
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. 2**s

    probier die Transaktion in der DB mal zu comitten...

    einfach for dem 2. SELECT ein
    commit;
    http://de2.php.net/manual/de/function.mysqli-commit.php
    mysqli_commit($db_connection);
    absetzen
  4. Autor dieses Themas

    mawes

    Kostenloser Webspace von mawes

    mawes hat kostenlosen Webspace.

    K?nntest du mir den Code man komplettsagen?:confused:
    W?re echt nett!
  5. 2**s

    hab ich doch

    mysqli_commit($db_connection);

    Das nach deinem Update
  6. k*********2

    Folgende Angabe ist soweit nicht in Ordnung:

    $anfrage="UPDATE test SET taler='";

    Wo ist da das Taler-Set???
    au?erdem w?rde ich ne ID-Spalte in die Datenbank aufnehmen, der die Nr. 1 z.B. enth?lt. Dann w?rde ich die Updateanweisung mit "WHERE ID=1" erweitern. Dies ist wesentlich sicherer, da sonst die MySQL Anweisung l?nger braucht und alle Datens?tze ver?ndern will!!!
  7. 2**s

    $anfrage="UPDATE test SET taler='";
    $anfrage.=$aktuell;

    Da wird der Talerwert gesetzt.

    Habe mir jetzt aber deinen code erstaml angeguckt...
    es ist doch viel zu umst?nflich, den wert ERST aus der DB zu lesen, ihn zu erh?hen und dann wieder zur?ckzuschreiben.

    Mach doch "UPDATE test SET taler = taler + 5;"
  8. mach mal vor die tabellennamen und feldnamen ein ` und danach auch ein ` aber eigentl. brauchst du das nicht (wird nur bei sonderzeichen ben?tigt)
    dann: das mysqli sprachkonstrukt (erweiterung der mysql befehle) wird noch sogut wie nirgends unterst?tz!

    probier mal anstatt von mysql_fetch_row mysql_fetch_array zu machen die felder in der variablen heisen dann z.b. $abfrage['taler']
    ansonsten ka was da falsch ist! ^^das obige mit den + 5 m?sste auch gehen!

    was bringt das commiten?

    und frage: ist nur ein datensatz in der tabelle? ansonsten w?rde ich schleunigst ein where einf?gen!!!
  9. Autor dieses Themas

    mawes

    Kostenloser Webspace von mawes

    mawes hat kostenlosen Webspace.

    Ja, jetzt hat es sich erledigt!
    Hab den Fehler selbst gefunden! Aber trotzdem Thanks f?r eure Hilfe!
    Ich habe wieder was gelernt!
    ---schlie?en---
  10. 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!