Mysql problem

Frank73

Mitglied
Hallo,

Ich versuche gerade die Eintrgäge einer Mysql Tabelle mit den Spaltennamen name_de-DE
zu lesen.

echo $row->name_de-DE;

Das Ergebniss ist 0!

Merkwürdig denn alle anderen Spalten wie category_id etc. werden korrekt angezeigt. Ich vermute mal, das Problem liegt am -DE am Spaltennamen - nur kann ich das nicht ändern.

Woran könnte es liegen, und wie kann das Problem gelöst werden.

Vielen Dank für jeden Tipp...

Liebe Grüße - Frank
 
Woran könnte es liegen, und wie kann das Problem gelöst werden.

Mit der Beschreibung gar nicht!

Du solltest schon ein bisschen was vom Code zeigen mit dem du arbeitest.

NACHTRAG:
Versuche mal was passiert wenn du in der Abfrage den Feldnamen in das hochgestellte " ` " packst.
 
Zuletzt bearbeitet:
Okay, zwar eingekürzt aber es sollte das Problem zeigen:

$abfrage = "SELECT * FROM jos_jshopping_products";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_objekt($ergebnis))
{
$name = $row->name_de-DE;
echo $name;
}

Bei der Google - Suche nach "bindestrich in spaltennamen mysql" bin ich zur Erkenntnis gekommen, das Bindestriche immer Problematisch sind. Ich hätte die Spalten auch nie so benannt, aber sie sind nun mal so und mit den muss ich schaffen. Leider gibts aber keine vernünftigen Erklärungen, wie das Problem zu lösen ist. Vielleicht hat ja einer eine zündende Idee?
 
Ok, sorry falscher Ansatz. Verwende einfach in der Abfrage einen Alias für das Feld:

PHP:
$abfrage = "SELECT `name_de-DE` AS name_de FROM jos_jshopping_products";
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_objekt($ergebnis))
{
    $name = $row->name_de;
    echo $name;
}
 
Zurück