[MySQL 4.0] Fehler in IF-Abfrage

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • [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
    Last edited by 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.
    Last edited by TobiaZ; 02-03-2005, 20:06.

    Comment


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

      Comment


      • #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?

        Comment


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

          Er scheint am EXISTS zu scheitern

          Comment


          • #6
            Es scheint am IF zu scheitern.

            Comment


            • #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

              Comment


              • #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

                Comment

                Working...
                X