HTML-Entity für Backtick
Tom
- html
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
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
Hello Axel,
ich kann und kann das HTML-Entity für das Backtick (Accent grave) nicht finden.
&96; `
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
hi,
$updateok = mysql_query("UPDATE
$tablename
,temp
".
" SET$tablename.$sortfield
= 'temp.id'".
" WHEREtemp.$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
Hello,
$updateok = mysql_query("UPDATE
$tablename
,temp
".
" SET$tablename.$sortfield
= 'temp.id'".
" WHEREtemp.$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
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
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
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.