[MySQL 4.0] Fehler in IF-Abfrage

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

  • [MySQL 4.0] Fehler in IF-Abfrage

    Okay, 2 Fragen. Die erste gehört zwar eher ins PHP-Formum, aber es geht auch eher um die 2te Frage; Ich befürchte nur dass es schon an der ersten scheitern wird.

    1.) Kann man in PHP mit mysql_query die hier benutzte Anfrage überhaupt ausführen? (Bin Skeptisch wegen den Semikolons)


    2.) Warum funktioniert die folgende Anfrage nicht? Die Fehlermeldung:

    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 'IF NOT EXISTS (SELECT page_id FROM pages WHERE page_title = 'Po
    Hier der Code:
    Code:
    IF NOT EXISTS (SELECT page_id FROM pages WHERE page_title = '$pagename' LIMIT 1) THEN
    	INSERT INTO pages (page_title, page_source, [...])
    	VALUES ('pagename', 'text', 'text', [...]);
    ELSE
    	INSERT INTO archive (page_title, page_source, [...])
    	SELECT page_id, page_title, [...] WHERE ... LIMIT 1;
    	
    	UPDATE pages SET page_title='pagename', page_source='text', [...] WHERE ... LIMIT 1;
    END IF
    Zuletzt geändert von Luke; 02.03.2005, 20:42.

  • #2
    1.) Kann man in PHP mit mysql_query die hier benutzte Anfrage überhaupt ausführen? (Bin Skeptisch wegen den Semikolons)
    Kannst grundsetzlich nur eine Query absetzen.

    2) bist du sicher, dass das nicht auf nen normalen weg geht? Du kannst ohnehin nicht mehrere Queries auf einmal absetzen. Außerdem würdest du die resource (2. Query im Else) ja durch die folgende Query wieder überschreiben.
    Zuletzt geändert von TobiaZ; 02.03.2005, 20:06.

    Kommentar


    • #3
      Waddn dat
      Die wenigsten Fehltritte begeht man mit den Füssen.

      Kommentar


      • #4
        > Kannst grundsetzlich nur eine Query absetzen.

        Hm :/
        Funktioniert vielleicht trotzdem weil's durch das IF-Konstrukt prinzipieall 1 Statement ist. Mein Vater meint auch es müsste gehen


        >bist du sicher, dass das nicht auf nen normalen weg geht?
        Doch schon, ist nur nicht so schön und schnell.


        >Außerdem würdest du die resource (2. Query im Else) ja durch die folgende Query wieder überschreiben.
        J, istn Wiki



        >Waddn dat
        Waddn wat?

        Kommentar


        • #5
          PS: Liegt's vielleicht aus irgend einem Grund an der MySQL Version (4.0.17)?

          Er scheint am EXISTS zu scheitern

          Kommentar


          • #6
            Es scheint am IF zu scheitern.

            Kommentar


            • #7
              Wie kommst du drauf? (Bitte kein Penis-vergleichs-konterpost schreiben, ernst gemeinte frage) Mein MySQL-Frontend scheitert wenn ich den puren Exists-teil abschicke

              Kommentar


              • #8
                vermute ich wegen

                Check the manual that corresponds to your MySQL server version for the right syntax to use near 'IF
                und nicht

                Check the manual that corresponds to your MySQL server version for the right syntax to use near 'EXISTS

                Kommentar

                Lädt...
                X