Probleme mit matzh operatoren und mysql error

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #46
    Irgenwann wirds einfach zu blöd. Ich glaube nicht, dass du das je lernen wirst, weil du es gar nicht willst. Hier ist deine Funktion
    PHP-Code:
    function geldauszahlen($auszahl){
        
    $sql "
            SELECT 
                bankgeld
            FROM 
                users
            WHERE 
                UserSession = '" 
    session_id() . "'
            LIMIT 1"
    ;
        
    $result mysql_query($sql) or die(mysql_error());
        
    $row mysql_fetch_object($result);
        
    $konto $row->bankgeld;
        if(
    $konto >= $auszahl){
            
    $sql "
                UPDATE 
                    users 
                SET 
                    bankgeld = bankgeld - 
    $auszahl,
                    geld = geld + 
    $auszahl
                WHERE 
                    UserSession = '" 
    mysql_real_escape_string(session_id()) . "'";
            
    $result mysql_query($sql) or 
                die(
    "<br>Es gab einen Fehler bei der Transaktion! Bitte versuche es erneut mit einer anderen Summe!" mysql_error());
            echo 
    "<br>Das Geld wurde dir in dein Inventar ausgezahlt!";
        }
        else{
            echo 
    "Du hast nicht genug Geld auf der Bank!";
        }

    Die falsche if-Abfrage ist auch gleich korrigiert.
    Gruss
    H2O

    Kommentar


    • #47
      @H2O: Klar, wenn man sowas noch unterstützt. Aber ich weiß, wie nervig sowas sein kann...

      Kommentar


      • #48
        zur falschen datei: Diese funktion befindet sioch in der fehlerhaften datei, und diese wird includet(doofes wort)

        @h2o und danke für den code, aber ich will es ja selber machen

        und nur weil ich nicht alles auf anhieb verstehe, muss ich doch nicht gleich als doof abgetan werden!

        Kommentar


        • #49
          Von Doof hat ja auch keiner gesprochen. Den Schuh hast du dir angezogen.

          Kommentar


          • #50
            ok, dass war etwas heftig ausgedrückt. abre trotdem danke an alle, die mir hier geholfen haben(auf die eine und auf die andere Weise)
            Zuletzt geändert von Champ Wasili; 18.06.2008, 19:12.

            Kommentar


            • #51
              neue frage: warum funktioniert dieser code nicht?:
              PHP-Code:
              <?
              session_start();
              include_once("../../sessionhelpers.inc.php");
              if(isset($_POST['unternehmen']))
              {
              $unternehmen=$_POST['unternehmen'];
              $anzahl=$_POST['anzahl'];
              function aktienkaufen($unternehmen, $anzahl)
              {
                  $sql = "
                      SELECT 
                          verkaufbareaktien
                      FROM 
                          `fonds`
                      WHERE 
                          name = '" . $unternehmen . "'
                      LIMIT 1";



                  $result = mysql_query($sql) or die(mysql_error());
                  $row = mysql_fetch_object($result);
                  $verfügbar = $row->verkaufbareaktien;
                  if($verfügbar >= $anzahl)
                  {
                      $sql = "
                          UPDATE 
                              `fonds` 
                          SET 
                              'verkaufbareaktien' = 'verkaufbareaktien' - $anzahl,
                              'aktienimumlauf' = 'aktienimumlauf' + $anzahl
                          WHERE 
                              name = '" .$unternehmen . "'";
                      $result = mysql_query($sql) or 
                          die("<br>Es gab einen Fehler! Bitte versuche es erneut!" . mysql_error());
                                 $sql = "
                          UPDATE 
                              users 
                          SET 
                              ".$unternehmen." = ".$unternehmen." + $anzahl,
                          WHERE 
                              UserSession = '" . session_id() . "'";
                                  $result = mysql_query($sql) or 
                          die("<br>Es gab einen Fehler! Bitte versuche es erneut!" . mysql_error());
                      echo "<br>Einkauf erfolgreich durchgeführt!(Du hast'.$anzahl.' Aktien der '.$unternehmen.' geordert) ";
                  }
                  else
                  {
                      echo "<br>Es sind zu wenig Aktien verfügbar";
                  }
                
              }
              aktienkaufen($unternehmen, $anzahl);
              }
              else
              {

              echo 'Du möchtest also '.$_GET['anzahl'].' Aktien der '.$_GET['unternehmen'].' kaufen?';

              ?>
              <form action="aktienkauf.php" method="post">
              <input type="hidden" name="anzahl" value="<? echo $_GET['anzahl'] ?>">
              <input type="hidden" name="unternehmen" value="<? echo $_GET['unternehmen'] ?>">
              <input type="submit" value="Ja">
              </form>

              <form action="boerse.php" method="post">
              <input type="submit" value="Nein">
              </form> <?
              }


              ?>
              es kommt immer:
              Es gab einen Fehler! Bitte versuche es erneut!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 ''verkaufbareaktien' = 'verkaufbareaktien' - 5, 'aktienimumlauf' ' at line 4

              aber ich finde keinen fehler!, was ist dabei falsch?

              Kommentar


              • #52
                Du umschließt Spaltennamen mit ', dadurch sind es aus Sicht von MySQL Strings und keine Spaltennamen.

                Kommentar


                • #53
                  Bei nem SQL-Fehler kannst du es dir übrigens sparen den kompletten PHP-Code zu posten. Die Query zu posten wäre viel sinnvoller und übersichtlicher gewesen.

                  Kommentar


                  • #54
                    ok, ich habe es mit:
                    PHP-Code:

                                       $sql 
                    "
                                UPDATE 
                                    users 
                                SET 
                                    "
                    .$unternehmen." = ".$unternehmen." + $anzahl,
                                WHERE 
                                    UserSession = '" 
                    session_id() . "'";
                                        
                    $result mysql_query($sql) or 
                                die(
                    "<br>Es gab einen Fehler! Bitte versuche es erneut!" mysql_error()); 
                    versucht.

                    aber jetzt kommt:
                    Es gab einen Fehler! Bitte versuche es erneut!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 'WHERE UserSession = 'ea7ef001668fcf0e9b578cbbe6562286'' at line 5

                    Kommentar


                    • #55
                      Sag mal, red ich spanisch oder eine andere Sprache, die du nicht verstehst???

                      Original geschrieben von TobiaZ
                      Bei nem SQL-Fehler kannst du es dir übrigens sparen den kompletten PHP-Code zu posten. Die Query zu posten wäre viel sinnvoller und übersichtlicher gewesen.
                      Und wenn man sich die angemeckerte Stelle mal ansieht (und evtl ein paar Zeichen davor), dann dürfte auch dir das Komma auffallen...

                      Kommentar


                      • #56
                        Original geschrieben von Champ Wasili
                        ok, ich habe es mit:
                        PHP-Code:

                                           $sql 
                        "
                                    UPDATE 
                                        users 
                                    SET 
                                        "
                        .$unternehmen." = ".$unternehmen." + $anzahl,
                                    WHERE 
                                        UserSession = '" 
                        session_id() . "'";
                                            
                        $result mysql_query($sql) or 
                                    die(
                        "<br>Es gab einen Fehler! Bitte versuche es erneut!" mysql_error()); 
                        versucht.

                        aber jetzt kommt:
                        Es gab einen Fehler! Bitte versuche es erneut!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 'WHERE UserSession = 'ea7ef001668fcf0e9b578cbbe6562286'' at line 5


                        gelesen und korrekt eingebaut

                        Kommentar


                        • #57
                          gelesen und korrekt eingebaut
                          EDIT:
                          Naja, wenigstens hast du den Code (nachträglich?) gekürzt. Obgleich das immer noch nicht die Ausgabe der Query ist, sondern ein PHP-Code.

                          Überleg doch mal, glaubst du das der MySQL Server den PHP-Code da zu parsen bekommt, oder meinst du nicht doch, dass PHP das entsprechend "aufbereitet" als reine(!) SQL-Query sendet? Und wieso postest du uns dann nicht auch diese reine Query? Schließlich sind wir menschen, für die das Parsen noch viel aufwändiger ist als für deinen Server.



                          Und warum ist der besagte Fehler immer noch vorhanden?
                          Zuletzt geändert von TobiaZ; 03.07.2008, 19:57.

                          Kommentar


                          • #58
                            ich meinte in den post eingebaut. verstanden hab ichs auch was du meintest

                            Kommentar


                            • #59
                              Wenn du es verstanden hast, warum postest du weiterhin penetrant den PHP-Code anstatt die tatsächlich abgeschickte Query?

                              Und was ist jetzt mit dem Fehler? Sind wir doch eigentlich fertig, oder?

                              Kommentar


                              • #60
                                query1

                                SELECT verkaufbareaktien FROM `fonds` WHERE name = 'Bankgesellschaft' LIMIT 1

                                query2

                                UPDATE `fonds` SET verkaufbareaktien = verkaufbareaktien - 7, aktienimumlauf = aktienimumlauf + 7 WHERE name = 'Bankgesellschaft'

                                query3

                                UPDATE users SET Bankgesellschaft = Bankgesellschaft + 7, WHERE UserSession = 'ea7ef001668fcf0e9b578cbbe6562286'


                                das sind alle queries in der reihenfolge. der fehlerhafte ist nr.3

                                Kommentar

                                Lädt...
                                X