Kann es Sein dass PHP/MySQL Probleme mit Spalten(namen) hat?

PHPer

Erfahrenes Mitglied
Hey Leuet!

Immer öffter muß ich feststellen dass PHP mit MySQL Probleme mit Spalten(namen) hat. Aktuellster Fall ist der Spaltenname "servdesc" (alternativ servdescr)". Der an PHP übergebene Eintrag wird nicht an MySQL übermittelt wodurch halt garnichts eingetragen wird.
Festgestellt habe ich das indem ich einfach jeden Eintrag einzeln in die MySQL DB hab eintragen lassen und geschaut hab welches Feld leer bleibt.

Nun Frage ich mich wieso PHP sich weigert die übergebenen Werte in die MySQL DB einzutragen. Dabei ist das Insert Query (wird im übrigen Dynamisch generiert) doch sauber. Auch die Übergabe an PHP erfolgt Problemlos (echo $post['servdesc(r)']).

Kennt jemand von Euch das Problem? Ich habe das Feld mehrmals umbenannt. Geholfen hat das nichts. Auch das Ändern des Values des Eintrages hat keinen Erfolg gebracht. PHP weigert sich einfach. Es handelt sich bei diesem Feld um ein "Mediumtext" Feld.

Weiterhin ist dieses Problem bei den Spaltennamen "ssl" & "frontpage" aufgetreten, welche alles ENUM Felder waren sowie bei "desc" welches ebenfalls ein "Mediumtext" Feld war.

Langsam verzweifel ich so ziemlich. Danke Euch schonmal im vorraus!
 
also, mysql ist empfindlich bei reservierten namen - so kannst du z.b. eine spalte nicht desc nennen

warscheinlich liegt der rest des problems an deinem php-code.
du solltest feste strings und variablen immer voneinander kapseln:

PHP:
mysql_query ("UPDATE tabelle SET bla = '" . $_REQUEST["bla"] . "', blub = '" . $hallo . "' WHERE ip = '" . $_SESSION["IP"] . "'");

mfg
sven
 
Naja, das mit den Reservierten Namen habe ich mir schon gedacht. aber "servdescr" wird wohl kaum reserviert sein, oder? Genausowenig "servbes". Oder setzt mysql da etwa Wildcards?

P.s.: Es geht um den INSERT Befehl, nicht um den Update, also mysql_query("INSERT INTO tabelle (Spaltennamen) VALUES ('$values')");
 
Zuletzt bearbeitet:
Jo, mysql bringt keinen Fehler. Den Query habe ich mir auch ausgeben lassen und der ist soweit auch sauber. Ein Grund mehr wieso ich nicht versteh wieso MySQL keine Einträge machen will.

Hab das Textfeld halt wieder Rausgehaun und das was eigentlich rein sollte in Input Felder aufgeteilt. Nu klappts auch mit dem Einfügen in die DB. Aber ein Rätsel bleibts trotzdem...
 
Zurück