Tom: HTML-Entity für Backtick

Hello,

ich kann und kann das HTML-Entity für das Backtick (Accent grave) nicht finden.

Harzliche Grüße aus http://www.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
  1. Hallo,

    ich kann und kann das HTML-Entity für das Backtick (Accent grave) nicht finden.

    &96; `

    http://www.cs.sfu.ca/~ggbaker/reference/characters/

    viele Grüße

    Axel

    1. Hello Axel,

      ich kann und kann das HTML-Entity für das Backtick (Accent grave) nicht finden.
      &96; `

      http://www.cs.sfu.ca/~ggbaker/reference/characters/

      Danek für den Tipp.

      Gibt aber immer noch ein Problem, diesmal aber mit MySQL und den Backticks

      $updateok = mysql_query("UPDATE $tablename, temp".
             " SET $tablename.$sortfield = 'temp.id'".
             " WHERE temp.$sortfield = $tablename.id",$con);

      gibt die Fehjlermeldung, dass die Spalte $tablename.$sortfield nicht existiert.
      Setze ich denselben Befehl aber über phpMyAdmin (was ich hasse wie die Pest) ab, funktioniert er.

      Harzliche Grüße aus http://www.annerschbarrich.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
      1. hi,

        $updateok = mysql_query("UPDATE $tablename, temp".
               " SET $tablename.$sortfield = 'temp.id'".
               " WHERE temp.$sortfield = $tablename.id",$con);

        gibt die Fehjlermeldung, dass die Spalte $tablename.$sortfield nicht existiert.

        stehen in der fehlermeldung wirklich noch die _nicht aufgelösten_ variablennamen?

        was ergibt eine kontrollausgabe des query-strings?

        gruß,
        wahsaga

        --
        "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
        1. Hello,

          $updateok = mysql_query("UPDATE $tablename, temp".
                 " SET $tablename.$sortfield = 'temp.id'".
                 " WHERE temp.$sortfield = $tablename.id",$con);

          gibt die Fehjlermeldung, dass die Spalte $tablename.$sortfield nicht existiert.

          stehen in der fehlermeldung wirklich noch die _nicht aufgelösten_ variablennamen?

          Nein, da stehen die aufgelösten. Das war jetzt eben ein Fehler von mir.

          Und genau das wundert mich ja. Der SQL-String ist ok, aber angeblich gibt es die Spalte nicht. Wenn ich die Backticks wegnehme, dann funktioniert es. Dürfen die nicht um

          tablename.fieldname

          herum gesetzt werden?

          Ich habe das sonst auch immer ohne gemacht, aber da die ganze Anwendug mit Backticks für Tabellen- und Feldnamen geschriben ist, wollte ich der Einheitlichkeit halber beibehalten.

          Harzliche Grüße aus http://www.annerschbarrich.de

          Tom

          --
          Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
          Nur selber lernen macht schlau
          1. hi,

            Und genau das wundert mich ja. Der SQL-String ist ok, aber angeblich gibt es die Spalte nicht. Wenn ich die Backticks wegnehme, dann funktioniert es.

            gut, das bestätigt meinen anfangsverdacht :-)

            Dürfen die nicht um

            tablename.fieldname

            herum gesetzt werden?

            die backticks benutzt man, um im spaltennamen auch reservierte wörter oder eben sonderzeichen benutzen zu können - der punkt ist einsolches, weil er eben zur notation von tabelle.spalten_name dient.

            wenn du jetzt tabelle.spalten\_name schreibst, kommt mysql da vermutlich durcheinander - es weiß nicht, ob du dem spaltennamen zur eindeutigkeit einen tabellennamen vorsetzen wolltest, oder ob du damit den spaltennamen "tabelle.spalten_name" meintest, der halt das sonderzeichen punkt enthält.

            aber eigentlich dürfte mysql sich hier gar nicht vertun, weil http://dev.mysql.com/doc/mysql/de/Legal_names.html besagt,

            Sie können das `.'-Zeichen in Namen nicht benutzen, weil es benutzt wird, um das Format zu erweitern, mit dem man auf Spalten verweisen kann

            allerdings steht im absatz darüber, dass für einen spaltennamen "alle zeichen" erlaubt wären - da widersprechen sich unsere schwedischen freunde an der stelle also selber ein bisschen :-)

            gruß,
            wahsaga

            --
            "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
            1. Hello,

              Ich danke Euch beiden.

              Und da ich es vermutlich sowieso nicht vernünftig bezahlt bekommen werde, breche ich die Bemühungen hier erstmal ab. Aber gelernt hab ich halt wieder 'was, und das sollte man auch nicht vernachlässigen.

              MySQL hat noch mehr konzeptionelle oder logsiche Bugs. Ich hoffe nur, dass di ein der Beseitigung nicht auch so arrgant sind, wie die Leute von PHP.

              Harzliche Grüße aus http://www.annerschbarrich.de

              Tom

              --
              Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
              Nur selber lernen macht schlau
          2. Hallo,

            Wenn ich die Backticks wegnehme, dann funktioniert es. Dürfen die nicht um
               tablename.fieldname
            herum gesetzt werden?

            So: tablename.fieldname ist es falsch.

            So: tablename.fieldname wäre es richtig.

            Ich würde allerdings nur quoten, wenn es notwenig ist. Eben, wenn als Tabellen- oder Spaltenname ein  reserviertes Wort verwendet wurde oder Sonderzeichen darin vorkommen. Und selbst diese Sonderfälle würde ich auch noch vermeiden, um überhaupt nicht quoten zu müssen.

            viele Grüße

            Axel

            PS: PHPMyAdmin quotet "vorsichtshalber" immer.