ENUM-Feld in MySQL ändern

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

  • ENUM-Feld in MySQL ändern

    Hallo,

    da hat sich ein neues Problem bei mir aufgetan.
    Ich habe eine Datenbanktabelle angelegt. Eine Spalte davon ist ein ENUM-Feld (status). Jetzt würde ich gerne dieses ENUM-Feld um einen Wert erweitern. Das Problem ist nur, dass ich den Wert als Variable $insert übergeben will.

    Also das ganze sieht im PHP-Code so aus:
    PHP-Code:
    $insert "D";

    $sql ALTER TABLE `testtable`CHANGE `status``status`ENUM(\'A\', \'B\', \'C\', $insert); 
    Danke und lieben Gruß

  • #2
    Re: ENUM-Feld in MySQL ändern

    und was ist die Fehlermeldung? Syntaxerror weil " fehlen oder mysql fehlermeldung?
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      ein syntaxerror ist es nicht, da das ganze nicht ausgeführt wird tippe ich auf einen sql-fehler

      die frage ist, wie bindet man eine variable unter php richtig in die sql-anweisung ein

      Kommentar


      • #4
        PHP-Code:
        $sql "ALTER TABLE `testtable`CHANGE `status``status`ENUM('A', 'B', 'C', '".$insert."')"
        So?
        "I don't want to belong to any club that would accept me as a member."

        Groucho Marx

        Kommentar


        • #5
          SQL ist in PHP erstmal nichts anderes als eine Zeichenkette (String). Bei deinem SQL-String fehlen die Delimeter, wie MelloPie schon gesagt hat. Schau dir das mal an.

          Grüße
          Nieder mit der Camel Case-Konvention

          Kommentar


          • #6
            Vielen Dank mcmurphy, so klappt es

            ich weiß nicht ob eine neue und alte Schreibweise existiert, was sql-anweisung in php betrifft. Wenn ich unter phpmyadmin sql-text in php ausgeben will gibt er mir folgende Schreibweise aus:

            $sql = 'ALTER TABLE `testtable`CHANGE `status``status`ENUM(\'A\', \'B\', \'C\', \'D\') CHARACTER SET latin1_swedish_ci NOT NULL';

            Kommentar


            • #7
              Es gibt keine alte oder neue Schreibweise. SQL ist SQL. Egal ob in PHP oder sonst wo.

              Kommentar


              • #8
                Original geschrieben von katja86
                ... die frage ist, wie bindet man eine variable unter php richtig in die sql-anweisung ein
                Per mysql_real_escape_string() -- es sei denn, du kannst dir ganz sicher sein, dass es sich bei dem Wert der in der Variablen gespeichert ist, um eine Zahl handelt.
                Klingon function calls do not have “parameters”‒they have “arguments”‒and they always win them!

                Kommentar

                Lädt...
                X