 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
15.01.2003, 00:02
|
#1
|
|
TP-Member
Registriert seit: Jun 2002
Ort: Frankfurt/M
|
Mit WHERE nach Strings suchen
N´Abend,
ich versuche schon die ganze Zeit, mit einer WHERE-Abfrage Einträge auszulesen, die in einer Spalte einen ganz bestimmten Text enthalten. Das sieht so aus:
SELECT * FROM bibsys WHERE ausleiher='Schmid' ORDER BY faellig
Ist eigentlich ganz einfach, das Feld "ausleiher" ist vom Typ Text, aber das Ganze funktioniert weder so
...WHERE (ausleiher='Schmid')...
noch so
...WHERE (ausleiher=Schmid)...
noch so
...WHERE ausleiher=Schmid...
WHERE und ORDER sind in der richtigen Reihenfolge. Es gibt immer die Fehlermeldung: "...not a valid mysql-resource..."
Wenn ich ein Datums-Feld so abfrage, funktionierts! Weiss jemand woran´s liegt?
Hosenkrempler
|
|
|
15.01.2003, 00:35
|
#2
|
|
TP-Insider
Registriert seit: May 2002
Ort: Colonia
|
Ich würde mal die Feld und Tabellennamen auf Rechtschreibung überprüfen, da schleichen sich ganz gern mal kleine Fehler ein.
Poste doch mal den Quellcode (nicht nur die SQL Abfrage) 
__________________
Gruss freefonzo
"Ein Experte ist ein Mann, der hinterher genau sagen kann, warum seine Prognose nicht gestimmt hat."
Sir Winston Churchill
1. lesen || 2. suchen || 3. posten || 4. Traum Scripts einbauen || 5. So sehen also TP'ler aus ?
|
|
|
15.01.2003, 11:41
|
#3
|
|
TP-Greis
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
|
PHP-Code:
SELECT * FROM bibsys WHERE ausleiher LIKE('Schmid') ORDER BY faellig
__________________
Give up yourself into the moment — The time is now.
|
|
|
15.01.2003, 12:02
|
#4
|
|
TP-Special Mod
Registriert seit: Jun 2001
Ort: 8°21' O 49°1' N
|
Fehlt da nicht ein %-Zeichen?
PHP-Code:
SELECT * FROM bibsys WHERE ausleiher LIKE('Schmid%') ORDER BY faellig
|
|
|
15.01.2003, 12:20
|
#5
|
|
TP-Greis
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
|
Das "%" ist ja nur das Wildcart (kann vor und/oder hinter dem String stehen), aber es scheint mir ja, als ob der genaue Name bzw. String gesucht werden soll.
__________________
Give up yourself into the moment — The time is now.
|
|
|
15.01.2003, 15:33
|
#6
|
|
TP-Specialist
Registriert seit: Jan 2002
Ort: TP/Dynamik
|
anisch müsste where ausleiher='Schmid' auch funktionieren...
ich tipp wie der fonzo auf einen tippfehler.
(o.t.: @lars: hattu eigentlich ahnung ob like langsamer als ein = ist?)
__________________
Gehelft? Hier kannst du dich bedanken.
mike
|
|
|
15.01.2003, 16:12
|
#7
|
|
TP-Greis
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
|
Die Antwort ist: Ich weiss es nicht.
__________________
Give up yourself into the moment — The time is now.
|
|
|
15.01.2003, 16:36
|
#8
|
|
TP-Member
Registriert seit: May 2002
|
Vielleicht sehr unkreativ:
Ich tippe auch auf einen Tippfehler. Führe den Befehl am besten mal direkt in der DB aus, sprich z.B. in phpMyAdmin.
Bis denne
__________________
Der Himmel ist blau, das Wasser ist nass, Fireworks macht Spass. Was ist schon dabei? 
McClaine
|
|
|
15.01.2003, 20:01
|
#9
|
|
TP-Member
Registriert seit: Jun 2002
Ort: Frankfurt/M
|
Danke schonmal für die vielen Antworten, das Problem sind nicht die Rechtschreibfehler, hier nochmal das Problem, ist hoffentlich nicht zu viel zu lesen.
Also das Problem ist Folgendes: Ich hab EINE php-Datei, in der steht drin, wie die Daten aus der DB formatiert ausgegeben werden. Dazu muss natürlich eine Abfrage der Form SELECT... gemacht werden. Davon soll es mehrere verschiedene geben, die 1. der User auf einer anderen Seite bestimmt/zusammenstellt und die 2. per default (standardmässige Sortierung nach einem bestimmten Kriterium) gemacht werden. Um es noch mal anders zu sagen: Der User bestimmt die eine Sortierung, innerhalb der dann standardmässig nach einem anderen Kriterium sortiert wird (beispielsweise alphabetisch).
Da dachte ich mir so, ich übermittle den gesamten SELECT-String per Link, z.B. so: index.php?suchstring=* from tabelle WHERE... ORDER BY...
und füge $suchstring einfach in der PHP-Datei ein: SELECT $suchtring. Eben das scheint so nicht zu funktionieren, mit der direkten Angabe gibt es allerdings keine Probleme.
Das Ganze scheint mir ein wenig unkonventionell zu sein, vielleicht macht man das anders. Momentan prüfe ich vor SELECT, ob bestimmte Variablen existieren und baue dann die Abfrage zusammen. Kennt ihr eine andere Lösung?
Hosenkrempler
|
|
|
15.01.2003, 20:09
|
#10
|
|
TP-Moderator
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
|
ACHTUNG !!!
Wenn du einen SQL-Befehl via GET oder POST an dein Script weitergibst ist es ein Leichtes dir mal eben deine Datenbank zu löschen !!!
Bei dem ersten Fehler den du beschrieben hast (not a valid mysql-resource) gehe ich eher davon aus, dass du im Script einen Fehler hast und nicht im Query. Anscheind enthällt die Variable für die Resource-ID im query-Aufruf keine gültige Resource-Id. Check das mal ob, sich da nicht ein Fehler eingeschlichen hat oder poste mal das Stückchen Code.
Gruss Jan
|
|
|
15.01.2003, 21:05
|
#11
|
|
TP-Member
Registriert seit: Jun 2002
Ort: Frankfurt/M
|
Öh, stimmt eigentlich. Wäre dumm, das auf ersterem Wege zu lösen. Was machen noch machen könnte, ist einfach eine Art ID der anzuwendenden Sortierung per Link zu senden und das dann auszuwerten.
HK
|
|
|
15.01.2003, 21:15
|
#12
|
|
TP-Greis
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
|
Zitat:
Original geschrieben von Stuck Mojo
ACHTUNG !!!
Wenn du einen SQL-Befehl via GET oder POST an dein Script weitergibst ist es ein Leichtes dir mal eben deine Datenbank zu löschen !!!
|
Das passiert natürlich nicht, wenn man Meister Lars' geheimes Anti-SQL-Injection-Script benutzt:
PHP-Code:
§sql = ereg_replace("'",""",$sql);
__________________
Give up yourself into the moment — The time is now.
|
|
|
15.01.2003, 21:52
|
#13
|
|
TP-Specialist
Registriert seit: Jan 2002
Ort: TP/Dynamik
|
und wird somit zum gesetz erhoben 
__________________
Gehelft? Hier kannst du dich bedanken.
mike
|
|
|
15.01.2003, 22:26
|
#14
|
|
TP-Greis
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
|
Yepp. Ich finde das Dollar-Symbol viel zu materialistisch. 
__________________
Give up yourself into the moment — The time is now.
|
|
|
15.01.2003, 22:44
|
#15
|
|
TP-Member
Registriert seit: Jun 2002
Ort: Frankfurt/M
|
Was ´ne (Geheim)Wissenschaft! Werd´s gleich mal ausprobieren!
HK
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 01:26 Uhr.
|
 |