Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] PHPmyAdmin Problem

Einklappen

Neue Werbung 2019

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

  • [Erledigt] PHPmyAdmin Problem

    Hallo zusammen,

    ich versuche schon seit längerem eine Datenbank auf mein Server zu laden, hab mich auch an die Installationsanweisung gehalten(Cipher DB • View topic - Installationsinstruktionen), doch wenn ich die DB importiere erhalte ich folgenden Fehler:

    PHP-Code:
    Fehler

    SQL
    -Befehl:

    DELIMITER CREATE FUNCTION `spEntfernung` (
    SX INT,
    SY INT,
    SZ INT,
    ZX INT,
    ZY INT,
    ZZ INT,
    gheight INT,
    gwidth INT
    RETURNS doubleDETERMINISTIC BEGIN DECLARE X,
    Y INT;

    MySQL meldetDokumentation
    #1064 - 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 'DELIMITER |

    CREATE FUNCTION `spEntfernung`(SX INT,SY INT,SZ INT,ZX INT,ZY INT,Z' at line 1 
    Dieses Problem ist wohl schonmal aufgetreten, also hab ich die Lösung durchgelesen, hab die Datei ohne diese Funktion importiert, hat auch geklappt, und jetzt wollte ich die Funktion über das Feld SQL in PHPmyAdmin einfügen, doch in meiner Version fehlt das Feld Begrenzer unten.

    Hier ist die Stelle die Probleme macht:

    PHP-Code:
    DELIMITER |

    CREATE FUNCTION `spEntfernung`(SX INT,SY INT,SZ INT,ZX INT,ZY INT,ZZ INT,gheight INT,gwidth INTRETURNS double
        DETERMINISTIC
    BEGIN
      
    DECLARE X,Y INT;
      DECLARE 
    system_dist,planis_dist DOUBLE;
      
    SET X := ABS(ABS(ZX SX) - (gwidth/2-0.5)) - (gwidth/2-0.5);
      
    SET Y := ABS(ABS(ZY SY) - (gheight/2-0.5)) - (gheight/2-0.5);
      
    SET system_dist := SQRT(Y);
      IF (
    SX ZX) && (SY ZYTHEN
        SET planis_dist 
    := ABS(ZZ SZ) * 0.02;
      ELSE
        
    SET planis_dist := ABS(ZZ SZ) * 0.012;
      
    END IF;
      RETURN 
    ROUND(system_dist planis_dist,3);
    END|

    DELIMITER 
    Ich habe MySQL Version 5.0.51a und PHPMyAdmin Version 2.8.2.4

    Ich würde mich freuen wenn mir jemand helfen könnte.

    MfG
    NemesisoD

  • #2
    DELIMITER ist kein SQL-Befehl, sondern eine Zusatzfunktion im MySQL-Monitor. Funktionsdefinitonen gibst du besser über diesen ein.
    Gruss
    L

    Kommentar


    • #3
      Danke für deine schnelle Antwort,

      wo finde ich denn die Funktionsdefinition?

      Kommentar


      • #4
        Zitat von NemesisoD Beitrag anzeigen
        wo finde ich denn die Funktionsdefinition?

        Du willst doch eine Funktion definieren.
        Gruss
        L

        Kommentar


        • #5
          Ich hab kaum Ahnung von PHPmyAdmin,
          wo finde ich den MySQL-Monitor? Sit das das wo SQL dran steht?

          Sorry für die doofe Fragen, aber ich bin Noob, bisher hat alles andere immer super geklapt

          Kommentar


          • #6
            Also als Lösung auf das Problem wird mir das hier angeboten:

            Versuche doch mal die Funktion einzeln zu importieren und ändere dabei in phpmyadmin den Delimiter (den kann man unter dem Eingabefeld für die SQL-Daten angeben) auf etwas anderes. Zum Beispiel auf $$.
            Doch dieses Eingabefeld fehlt in meiner Version, hab das ganze mal Lokal getestet, und da ist das Eingabefeld vorhaben (aktuelle Xampp-Version).

            Kommentar


            • #7
              Der SQL-Monitor ist die Kommandozeileneingabe für MySQL und hat nichts mit PHPmyAdmin zu tun. Du startest ihn einfach in einer Shell mit
              Code:
              mysql -u <user>
              und kannst deine Eingaben dort machen. Eventuell musst du noch den Pfad anpassen.
              Gruss
              L

              Kommentar


              • #8
                Ok, danke.

                Jetzt hats geklappt.

                Kommentar

                Lädt...
                X