[MySQL 4.1] Sonderzeichen in Spaltenname

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

  • [MySQL 4.1] Sonderzeichen in Spaltenname

    Hallo,

    grundsätzlich kann man ja keine von MySQL reservierten Sonderzeichen als Spaltennamen verwenden(/, - etc..)..

    Beispiel: Test-ID

    Beim Update eines Tabelleneintrages kommt es natürlich zum Fehler..

    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 '-ID="0815"

    Nur ist es von meinem Brötchengeber ausrücklich gefordert..

    Kann man da nicht wat tricksen? Habe von so genannten Backsticks gehört..

    Merci!

  • #2
    auch backticks bringen dich hier nicht weiter.

    mache überall aus dem - ein _ und gut ist.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Wieso sollte der das fordern (noch dazu am Samstag abend) wenn es ihm wenn er es sowieso nicht nutzen kann???

      Kommentar


      • #4
        das mit den sonderzeichen...

        ..mein Arbeitgeber will "eindeutige" Spaltennamen, denn alles andere sei für die Nutzer "verwirrend" und führe zu Missverständnissen....
        (T-Mobile)

        ..ich habe es aber tatsächlich geschafft!! Das mit den Backsticks geht(Shift+Taste neben ß, dann Leertaste drücken).

        Hier der Code , $fieldName enthält die Spaltennamen (nun `$fieldName`)

        else if ($action=="update") {
        $sql="UPDATE $Meine Tabelledie Bitch";
        for ( $i = 0; $i < $columns; $i++ )
        {
        $arr = get_defined_vars();
        $fieldName= mysql_field_name($fields,$i);
        $fieldType= mysql_field_type($fields,$i);
        $fieldNameValue= $arr[$fieldName."Val"];

        if ($i == 0) {
        $uniqueFieldName = $fieldName;
        $uniqueId=$arr[$fieldName."Val"];
        if ($fieldType=="int") {
        $sql = $sql . " SET `$fieldName`=".$fieldNameValue.", ";
        } else {
        $sql = $sql . " SET `$fieldName`=\"".$fieldNameValue."\", ";
        }
        } else if ($i == $columns-1) { //letzter DS
        if ($fieldType=="int") {
        $sql = $sql . " `$fieldName`=".$fieldNameValue." ";
        } else {
        $sql = $sql . " `$fieldName`=\"".$fieldNameValue."\" ";
        }
        } else {
        if ($fieldType=="int") { //die übrigen DS werden angesprochen
        $sql = $sql . " `$fieldName`=".$fieldNameValue.", ";
        } else {
        $sql = $sql . " `$fieldName`=\"".$fieldNameValue."\", ";
        }
        }
        }

        $sql = $sql . " WHERE $uniqueFieldName=\"$oldUniqueId\"";
        echo $sql;


        $res=mysql_query($sql);



        Kommentar


        • #5
          Re: das mit den sonderzeichen...

          Original geschrieben von inföchen
          ..mein Arbeitgeber will "eindeutige" Spaltennamen, denn alles andere sei für die Nutzer "verwirrend" und führe zu Missverständnissen....
          öhm .... datenbankspalten != angezeigte spaltennamen!
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            Kann es sein das Du mit "Imion" verwandt bist ... ?!
            carpe noctem

            [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
            [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

            Kommentar


            • #7
              also ich weiss nicht, ich hatte auch mal einen SubAuftrag über einen
              Freund, der ja selbstständig ist, für T-Online geschrieben. Es war sogar
              verlang, dass alles in Englisch sein muss, auch Code Kommentare,
              lediglich die Ausgabe beim Enduser, dann in der entsprechenden
              Sprache. D.h. dass ich es dir so nicht abkaufe

              Kommentar

              Lädt...
              X