[PHP/Mysql] ORDER by Problem

traffic

Well-known member
5 Mai 2006
675
25
Hallo,

ich möchte ide Datenbank so untersuchen laßen:

PHP:
$order="order by 'hersteller' ASC";   
$result = mysql_query("SELECT * FROM auto_artikel WHERE kategorie='$kat' AND ('$typ' IN (typ, typ2, typ3, typ4, typ5, typ6, typ7, typ8, typ9, typ10, typ11, typ12, typ13, typ14, typ15, typ16, typ17, typ18, typ19, typ20, typ21, typ22, typ23, typ24, typ25, typ26, typ27, typ28, typ29, typ30) OR typ='0') '$order'");

kann mir jemand sagen was ich verkehrt mache?

danke
 
Du sortierst nach einem String nicht nach einer Spalte.

Mach die Ticks weg oder die richtigen Backticks da hin und es sollte funktionieren.
 
sollte eigentlich nicht daran liegen... in sql kann man tabellennamen auch mit ` oder ' einklammern, oder halt gar nicht. (kommt natürlich auf den sql server an)

da du aber php verwendest tippe ich auf mysql. lass dir doch den kompletten string von Select bis zum ende vom script mal ausgeben und gib ihn in phpMyadmin o.ä. ein. dann wird dir schon gesagt wo der fehler hängt...
 
Falsch. In MySQL zumindest ist 'sowas' immer ein String. Wie soll denn sonst bspw bei einem INSERT zwischen Spalte und Stringwert unterschieden werden?
 
Falsch. In MySQL zumindest ist 'sowas' immer ein String. Wie soll denn sonst bspw bei einem INSERT zwischen Spalte und Stringwert unterschieden werden?
:sing: Hehe... :oops:

Ich korrigiere und entschuldige mich und behaupte hiermit das Gegenteil. MySQL scheint schlau genug zu sein, im ORDER BY die Ticks richtig zu interpretieren.

Nächstes Mal teste ich sowas vor so einer Behauptung. Dumdedum... :shifty:
 
:)

wie gesagt. kommt halt immer aufs sql an. und nicht nur auf die unterschiedlichen server, sondern auch auf versionsunterschiede...
 
Was mir vor ewigkeiten immer passierte,..

Man muss tatsächlich auch darauf achten, das man in der Datenbank auch wirklich den richtigen Typ für die Spalte eingibt,.. das ist häufig eine Fehlerquelle, um das hier mal der Ordnunghalber mit anzubringen ;).