kostenloser Webspace werbefrei: lima-city


meine funktion geht nicht :-(

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    planschkuh

    Kostenloser Webspace von planschkuh, auf Homepage erstellen warten

    planschkuh hat kostenlosen Webspace.

    function build($build)
    {
    error_reporting(E_ALL);
    $sql_build = 'SELECT * FROM user WHERE id="'.$_SESSION['user_id'].'"';
    $query_build=mysql_query($sql_build);
    $fetch_build = mysql_fetch_array($query_build);
    
    $sql_insert = 'UPDATE user SET '.$build.'='.$build.'+1 WHERE id="'.$_SESSION['user_id'].'"';
    
    echo '<form method="post"><input type="submit" name="x'.$build.'" value="'.$fetch_build[$build].'"></form>';
    if($_POST['x'.$build])
    {
    $query_insert = mysql_query($sql_insert);
    echo '<br />gebaut...*g?hn*';
    }
    
    
    
    
    
    
    
    
    return $fetch_build[''.$build.''];
    
    
    }

    Es ist eine Funktion, die eine Variable in der DB um eins erh?hen soll.

    Dabei wird auch gleich ein Button und die dazugeh?rigr if($_POST) abfrage erstellt.
    Nur geht das ganze eben nicht ;)

    An was liegt das?
    Die Datanbankverbindung geht. Die wird includiert.

    EDIT:
    Eine Fehlermeldung wird auch nicht ausgegeben.


    Beitrag ge?ndert am 28.01.2006 19:21 von planschkuh
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. $sql_insert = 'UPDATE user SET '.$build.'='.$build.'+1 WHERE id="'.$_SESSION['user_id'].'"';


    Ich weiss nicht ob das bei dir so auch geht, aber generell w?rd ich das eher so schreiben:

    $sql_insert = 'UPDATE user SET '.$build.'='.($build+1).' WHERE id="'.$_SESSION['user_id'].'"';


    Probier mal as, vll war es ja das.

    mfg mace

  4. $sql_insert = 'UPDATE user SET '.$build.'='.$build.'+1 WHERE id="'.$_SESSION['user_id'].'"';



    ich w?rds so machen:
    $sql_insert = 'UPDATE user SET '.$build.'='".$build."+1"' WHERE id="'.$_SESSION['user_id'].'"';


    bei dir ist der 1er au?erhalb der einfachen anf?hrungszeichen, und ich denk mir mal dann nimmt er die '1' nicht mehr mit und z?hlt somit auch nicht hoch.
    probiers einfach mal aus die varianten ;-)

    edit
    @ untermir
    haste recht ;-)

    bin bin den doppelten und einfachen durcheinander gekommen, ich machs immer umgekehrt ^^

    so habs nochmal getestet, probiers mal so der sql code stimmt obs updatet konnte ich nicht testen:

    $sql_insert = "UPDATE user SET ".$build."='".$build."+1' WHERE id='".$_SESSION['user_id']."'";

    Beitrag ge?ndert am 29.01.2006 10:31 von pointi

  5. ich w?rds so machen:
    $sql_insert = 'UPDATE user SET '.$build.'='".$build."+1"' WHERE id="'.$_SESSION['user_id'].'"';


    uh, allein die farben sagen schon, dass das nicht funktionieren kann ^^
  6. Autor dieses Themas

    planschkuh

    Kostenloser Webspace von planschkuh, auf Homepage erstellen warten

    planschkuh hat kostenlosen Webspace.

    es geht alles nicht :wink:
    Aber es geht auch nicht, wenn ich die Funktion weglasse eun einfach:
    $sql = 'UPDATE user SET titan_level=titan_level+1 WHERE id="'.$_SESSION['user_id'].'"';

    Schreibe.
    An was k?nnte das liegen?

  7. es geht alles nicht :wink:
    Aber es geht auch nicht, wenn ich die Funktion weglasse eun einfach:
    $sql = 'UPDATE user SET titan_level=titan_level+1 WHERE id="'.$_SESSION['user_id'].'"';

    Schreibe.
    An was k?nnte das liegen?


    hast du schonmal den sql befehl ausgegeben?
    steht da was drinnen in der session variable? es k?nnte leicht sein dass wir schon die ganze zeit an der falschen stelle herumdoktoren^^
  8. Autor dieses Themas

    planschkuh

    Kostenloser Webspace von planschkuh, auf Homepage erstellen warten

    planschkuh hat kostenlosen Webspace.

    In der Session steht was drin.
    Die anderen Scripte funktionieren auhc mit der Session.
  9. gib mal den sql befehl aus, zur sicherheit.
    und hast du den befehl schon im phpmyadmin versucht (im sql bereich)??

    fehler kommt wirklich keiner? hmm dann d?rften die tabelle und die spaltennamen stimmen ...

    mehr f?llt mir leider auch nicht mehr ein!
  10. c*********c

    $sql = 'UPDATE user SET titan_level=titan_level+1 WHERE id="'.$_SESSION['user_id'].'"';


    Versuch's so:

    $sql = 'UPDATE user SET titan_level=titan_level+1 WHERE id='.$_SESSION['user_id'];

    Ich denke, die Ursache f?r die Fehlfunktion d?rfte an den beiden Anf?hrungszeichen, welche die SessionID umklammern, liegen.
  11. Autor dieses Themas

    planschkuh

    Kostenloser Webspace von planschkuh, auf Homepage erstellen warten

    planschkuh hat kostenlosen Webspace.



    pointi schrieb:
    gib mal den sql befehl aus, zur sicherheit.
    und hast du den befehl schon im phpmyadmin versucht (im sql bereich)??

    fehler kommt wirklich keiner? hmm dann d?rften die tabelle und die spaltennamen stimmen ...

    mehr f?llt mir leider auch nicht mehr ein!

    Wenn ich in die funktion
    echo $sql_insert;

    schreibe, dann kommt bei der eingabe
    build('strom_level')

    folgendes raus:
    UPDATE user SET strom_level=strom_level+1 WHERE id="1"





    compactdisc schrieb:
    $sql = 'UPDATE user SET titan_level=titan_level+1 WHERE id=''.$_SESSION['user_id'].''';


    Versuch's so:

    $sql = 'UPDATE user SET titan_level=titan_level+1 WHERE id='.$_SESSION['user_id'];

    Ich denke, die Ursache f?r die Fehlfunktion d?rfte an den beiden Anf?hrungszeichen, welche die SessionID umklammern, liegen.

    Geht auch nich ;(
  12. k**********e

    als erstes w?rde ich dir ein mysql_error() empfehlen...
    function build($build)
    {
    $sql_build = 'SELECT * FROM user WHERE id='.$_SESSION['user_id'];
    
    $query_build=mysql_query($sql_build) or die(mysql_error() . '<br />'. $sql_build);
    $fetch_build = mysql_fetch_array($query_build);
    
    $sql_insert = 'UPDATE user SET '.$build.'='.$build.'+1 WHERE id='.$_SESSION['user_id'];
    
    echo '<form method="post"><input type="submit" name="x'.$build.'" value="'.$fetch_build[$build].'"></form>';
    
    if($_POST['x'.$build])
    {
    $query_insert = mysql_query($sql_insert) or die(mysql_error() . '<br />' . $sql_insert);
    echo '<br />gebaut...*g?hn*';
    }
    
    return $fetch_build[''.$build.''];
    }

    das sollte (hoffentlich) etwas mehr licht ins dunckel bringen.
  13. Autor dieses Themas

    planschkuh

    Kostenloser Webspace von planschkuh, auf Homepage erstellen warten

    planschkuh hat kostenlosen Webspace.

    irgendwie...wird so auch nix ausgegeben ;(
    Es kommt einfach keine Fehlermeldung.
    Aber geschrieben wird auch nix.-.-


    EDIT:
    ES geht!
    Das Fehler war, dass man 0 nciht auf 1 erh?hen kann(was wei? ich warum)

    Was mache ich nun?
    Wie kann ich die Variable von 0 auf 1 erh?hen?


    Beitrag ge?ndert am 31.01.2006 12:30 von planschkuh
  14. Autor dieses Themas

    planschkuh

    Kostenloser Webspace von planschkuh, auf Homepage erstellen warten

    planschkuh hat kostenlosen Webspace.



    planschkuh schrieb:
    irgendwie...wird so auch nix ausgegeben ;(
    Es kommt einfach keine Fehlermeldung.
    Aber geschrieben wird auch nix.-.-


    EDIT:
    ES geht!
    Das Fehler war, dass man 0 nciht auf 1 erh?hen kann(was wei? ich warum)

    Was mache ich nun?
    Wie kann ich die Variable von 0 auf 1 erh?hen?


    Beitrag ge?ndert am 31.01.2006 12:30 von planschkuh

    Jap. so ist es.
    Da hab ich gedacht, ich f?ge mal ne if-schleife hinzu:

    if($fetch_build[$build]==0)
    {
    $sql_insert = 'UPDATE user SET '.$build.' = 1 WHERE id='.$_SESSION['user_id'];
    }
    else
    {
    
    $sql_insert = 'UPDATE user SET '.$build.'=('.$fetch_build[$build].'+1) WHERE id='.$_SESSION['user_id'];
    }

    Aber ncihtmal das geht =(
    Wei? einer, von euch, woooran das liegen mk?nnte?
  15. c*********c

    Spaltennamen geh?ren nicht in diese seltsamen Anf?hrungszeichen: 'spalte' ... wenn ?berhaupt, dann in solche `spalte`


    //edit: *sch?m* tats?chlich :wink:

    Ursache #2:

    Kann es sein, dass du falsche Spaltennamen verwendest?


    Ursache #3:

    Der Spaltenname ist ein Schl?sselwort und m?sste somit in `` gesetzt werden.


    ... und lass - falls vorhanden - mit mysql_error() den zur?ckgegebenen Fehler ausgeben.

    Beitrag ge?ndert am 31.01.2006 18:11 von compactdisc
  16. Autor dieses Themas

    planschkuh

    Kostenloser Webspace von planschkuh, auf Homepage erstellen warten

    planschkuh hat kostenlosen Webspace.



    compactdisc schrieb:
    Spaltennamen geh?ren nicht in diese seltsamen Anf?hrungszeichen: 'spalte' ... wenn ?berhaupt, dann in solche `spalte`

    Die sind ja nachher wech.
    Sind ja nur, um die Variable auszugeben.
    (siehe ausgegeben query:
    UPDATE user SET methan_level =1 WHERE id=1)
  17. Probier es mal so :
    $sql = "UPDATE `user` SET `methan_level ` = user.methan_level + 1 WHERE `id` = '1'";


    Achja und sage mal bitte, was du damit machen willst, bzw. was das Ganze bringen soll.

    MfG Lucas
  18. 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!