Seite 1 von 2
Problem bei Datenbankabfrage (prefix = '#')
Verfasst: 16.04.2003 19:14
von Muldini
Hallo,
ich habe mir eine Filmliste programmiert und bei Titeln die mit 0-9 anfangen bekommt der Film einen Index #_Zahl.
(Zahl steigt mit der Anzahl der Filme, logisch.)
Nun, das Problem entsteht beim Aufrufen der Details zu einem Film.
Wenn die id nun z.B. #_001 ist kann er nicht auf den Film zugreifen, bei der id A_001 funktioniert es jedoch einwandfrei.
Bitte keine Vorschläge wie "Nimm doch einen anderen Index", danke.
Mfg
Muldini
Verfasst: 16.04.2003 19:52
von Pyramide
Nimm doch = anstatt like, das ist ausserdem noch schneller. LIKE ist sowieso nur für Wildcard-Abfragen gedacht, also z.B. der Inhalt soll mit A beginnen, danach 2 beliebige Zeichen und dann ein D.
Ich frage mich, warum in letzter Zeit so viele Leute ihre SQL Bedingungen mit LIKE erstellen...gibt´s da irgendwo ein Tutorial, wo das so beschrieben ist?
Verfasst: 16.04.2003 20:00
von Muldini
Wenn ich 'like' durch '=' ersetze ändert sich nichts daran dass er die ID #_Zahl nicht findet.
Mfg
Muldini
Verfasst: 16.04.2003 21:30
von PhilippK
Welche Datenbank verwendest du denn?
Gruß, Philipp
Verfasst: 16.04.2003 21:35
von Muldini
Ich verwende eine MySQL Datenbank, ich dachte man erkennt es am Code, sry.
Mfg
Muldini
Verfasst: 16.04.2003 21:55
von PhilippK
Kannst du mal testweise was wie
verwenden? Ich bin mir nicht so sicher, ob PHP oder MySQL der Verursacher ist.
Gruß, Philipp
Verfasst: 17.04.2003 10:10
von Muldini
Dabei kommt dann wie gehabt
Code: Alles auswählen
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in url/datei.php on line 7
Mfg
Muldini
Verfasst: 17.04.2003 10:24
von Fraenky
Frage:
heisst deine Tabelle: 'tabelle' oder hast du das nur so angegeben? Oder hast du as '$' vergessen?
Verfasst: 17.04.2003 10:56
von Muldini
Meine Tabelle heisst 'filmliste_$inhaber', ich habs weggelassen, damit es zu keinen Missverständnissen kommt.
Wie gesagt, es funktioniert bei jedem prefix (oder id) die mit einem buchstaben beginnt, nur die ids die mit einer # beginnen kann er nicht auslesen.
Mfg
Muldini
Verfasst: 17.04.2003 11:45
von itst
Das liegt an dem "#". Die Raute (oder auch Hash genannt) ist in MySql-Queries das Zeichen für einen Kommentar.
http://www.mysql.com/doc/de/Comments.html
Das bedeutet, das MySql Deine Query nach dem "#" abschneidet, weil es davon ausgeht, das alles, was danach kommt ein Kommentar ist.
HTH, Sascha