MySQl will nich so wie ich will....

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

  • MySQl will nich so wie ich will....

    Servus Leute !

    Ich hab mal wieder ein MySQL - Prob und zwar erhalte ich beim aufrufen eines Scripts folgende Fehlermeldung:

    "
    Ungültige Abfrage: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 '' at line 1
    "

    Ich hab allerdings keine Ahnung wo der Fehler sitzt, da Zeile 1 ja nich sein kann weil da nur das <PHP steht.

    Daher hier mal das komplette Script, da´s ja nich sooo lang is

    PHP-Code:
    <?php
    session_start
    ();

    // Zur DB connecten
    include ("dbconnect.php");

    // Baugeschindigkeit checken und ausgeben 
    $abfrage_bauges = ("SELECT bauges FROM bauwerke WHERE id = $_SESSION[uid]");
    $ergebnis_bauges mysql_query($abfrage_bauges) or
     die (
    'Ungültige Abfrage:'mysql_error());
    if (!
    $ergebnis_bauges)
    {
    die(
    'Ungültige Abfrage:' mysql_error());
    }

    while(
    $row mysql_fetch_object($ergebnis_bauges))
        {
        
    $bauges $row->bauges;
        }   



    // Aufträge auslesen
    // Rathaus

    $abfrage_auftrag_rathaus =
     (
    "SELECT auftrag_rathaus FROM bauwerke WHERE id = $_SESSION[uid]");
    $ergebnis_auftrag_rathaus 

    mysql_query($abfrage_auftrag_rathaus) or
     die (
    'Ungültige Abfrage:'mysql_error());
    if (!
    $ergebnis_auftrag_rathaus)
    {
    die(
    'Ungültige Abfrage: ' mysql_error());
    }

    while(
    $row mysql_fetch_object($ergebnis_auftrag_rathaus))
        {
        
    $auftrag_rathaus_ges $row->auftrag_rathaus;
        } 
        
    // bauen 

    $restauftrag_rathaus  $auftrag_rathaus_ges $bauges;  

    // neue Auftragsanzahl eintragen 

    $neu_auftrag_rathaus_ges_aendern =
     
    "(UPDATE bauwerke Set auftrag_rathaus = $restauftrag_rathaus WHERE id = $_SESSION[uid]");

    $neu_auftrag_rathaus_ges_eintragen mysql_query($neu_auftrag_rathaus_ges_aendern);    

    // Alte Gebäudeanzahl auslesen 

    $abfrage_rathaus =
     (
    "SELECT anzahl_rathaus FROM bauwerke WHERE id = $_SESSION[uid]");
    $ergebnis_rathaus =
     
    mysql_query($abfrage_rathaus) or
     die (
    'Ungültige Abfrage:'mysql_error());

    if (!
    $ergebnis_rathaus)
    {
    die(
    'Ungültige Abfrage: ' mysql_error());
    }

    while(
    $row mysql_fetch_object($ergebnis_rathaus))
        {
        
    $rathaus_ges $row->anzahl_rathaus;
        } 

    // Neue Gebäude dazurechnen 

    $differenz  $auftrag_rathaus_ges $restauftrag_rathaus;
    $neu_rathaus $rathaus_ges $differenz;

    // Eintragen 


    $neu_rathaus_ges_aendern
    = ("UPDATE bauwerke Set anzahl_rathaus = $neu_rathaus WHERE id = $_SESSION[uid])";

    $neu_rathaus_ges_eintragen mysql_query($neu_rathaus_ges_aendern);
    ?>
    Zuletzt geändert von Perceptor; 21.06.2005, 19:46.

  • #2
    Na, da die meldung vom SQL-Server kommt und nicht vom Parser wird wohl Zeile 1 von deiner Query gemeint sein. Schön wenn man seinen eigenen Code versteht

    Da du aber aus Prinzip nur einzeilige Queries zu verwenden scheinst, ist es für uns als außenstehende wohl etwas schwer herauszubekommen, welche Query gemeint ist.

    Also suchst du jetzt die entsprechende Query raus und postest bitte NUR diese. PHP-Code interessiert uns bei einem SQL-Problem erstmal gar nicht.

    Kommentar


    • #3
      na die ist definitiv falsch

      "UPDATE bauwerke Set anzahl_rathaus = $neu_rathaus WHERE id = $_SESSION[uid])"
      TBT

      Die zwei wichtigsten Regeln für eine berufliche Karriere:
      1. Verrate niemals alles was du weißt!


      PHP 2 AllPatrizier II Browsergame

      Kommentar


      • #4
        Um das zusehen, musste man aber in den Quelltext gucken! Aber ist echt falsch...

        Kommentar


        • #5
          HuHu


          ich würde es so versuchen:
          PHP-Code:

          ("UPDATE bauwerke Set anzahl_rathaus = anzahl_rathaus + $neu_rathaus WHERE id = $_SESSION[uid])"
          aber da ich falsch gelesen habe, ist das wurscht..
          wenn ich net irre *g

          Mfg
          Zuletzt geändert von Luzifer45; 22.06.2005, 10:39.
          Es gibt im Leben immer einen der besser ist als man selbst..das sollte keiner vergessen *fg

          Kommentar


          • #6
            Guck mal, ne grüne und ne rote Klammer:
            PHP-Code:
            echo ("String)"
            Sieht zwar lustig aus, aber PHP und MySQL sind ziemlich humorlos ...
            Wozu überhaupt die Klammern, du machst doch nur eine Wertzuweisung?

            Und gleich nochwas: Schau dir mal http://www.php.net/manual/de/languag...string.parsing an!

            Kommentar


            • #7
              wenn ich net irre *g
              Du irrst - und zwar gewaltig!

              Kommentar


              • #8
                huhu

                das bezog sich eigentlich nur auf das

                anzahl_rathaus = anzahl_rathaus + $neu_rathaus

                den update selber:

                PHP-Code:

                ("UPDATE bauwerke Set anzahl_rathaus = $neu_rathaus WHERE id = $_SESSION[uid]"); 


                mfg
                Zuletzt geändert von Luzifer45; 22.06.2005, 10:41.
                Es gibt im Leben immer einen der besser ist als man selbst..das sollte keiner vergessen *fg

                Kommentar


                • #9
                  OK, das mit den Klammern hast du hinbekommen. Ist aber nicht so wichtig, könntest du nämlich auch komplett weglassen. Du willst ja nur variable=wert machen, da gibt's nichts zu klammern, also kein Grund für variable=(wert).

                  Bist du obigem Link gefolgt?
                  Hast du gelesen was dort steht?
                  Hast du es verstanden?
                  Kennst du den Unterschied zwischen $_SESSION[uid] und $_SESSION['uid']?
                  Kennst du den Unterschied zwischen "SELECT ... {$_SESSION['uid']}" und "SELECT ... $_SESSION[uid]"?

                  Kommentar


                  • #10
                    OK, das mit den Klammern hast du hinbekommen. Ist aber nicht so wichtig, könntest du nämlich auch komplett weglassen. Du willst ja nur variable=wert machen, da gibt's nichts zu klammern, also kein Grund für variable=(wert).
                    Die klammern sind da, weil der Threadstarter auf einem mir fernen grund die query direkt in die funktion schreibt.

                    All deine Tipps mögen zwar gut und richtig sein, haben aber nichts mit dem Problem zu tun

                    Kommentar


                    • #11
                      Servus !
                      Also hier mal wieder ich, hab oben genannten Fehler mal korrigiert und die query´s durchnummeriert, damit man sieht wo der Fehler hockt. Und da 1 ausgegeben wird tritt der Fehler bei folgendem query auf:
                      PHP-Code:
                      $abfrage_bauges 
                      (
                      "SELECT bauges FROM bauwerke WHERE id = $_SESSION[uid]");
                                         
                      $ergebnis_bauges 
                      mysql_query($abfrage_bauges) or die ('Ungültige Abfrage:1'mysql_error()); 
                      Was issn da falsch ?

                      Kommentar


                      • #12
                        HuHU

                        versuchs mal so..
                        PHP-Code:

                        $abfrage_bauges 

                        (
                        "SELECT bauges FROM bauwerke WHERE id = '$_SESSION[uid]' ");
                                           
                        $ergebnis_bauges 
                        mysql_query($abfrage_bauges) or die ('Ungültige Abfrage:1'mysql_error()); 
                        mfg
                        Es gibt im Leben immer einen der besser ist als man selbst..das sollte keiner vergessen *fg

                        Kommentar


                        • #13
                          1. was sagt mysql_error?
                          2. mach echo $abfrage_bauges dann siehst du vielleicht den Fehler

                          Kommentar


                          • #14
                            Ich hab den Fehler gefunden !

                            Danke vielmals an alle netten Helfen

                            Kommentar

                            Lädt...
                            X