 |
| 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 |
10.06.2002, 09:22
|
#1
|
|
TP-Specialist
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
|
kleines problem mit der abfrage ...
hi,
ich habe ein script mit folgender anweisung:
$anfrage="SELECT * FROM tabelle WHERE '$attribut1' LIKE '$attribut' ORDER BY merkmal;";
setze ich das erste attribut nicht in ' ', dann bekomme ich folgenden fehler:
You have an error in your SQL syntax near 'LIKE " ORDER BY merkmal' at line 1
setze ich das erste attribut in ' ', dann bekomme ich ein abfrageergebnis, das aber leider alle datensaetze umfasst und die auswahlkriterien voellig ausser acht laesst.
woran kann das liegen?
theo
|
|
|
10.06.2002, 10:47
|
#2
|
|
TP-Specialist
Registriert seit: Jan 2002
Ort: TP/Dynamik
|
probiers mal so:
PHP-Code:
$anfrage="SELECT * FROM tabelle WHERE $attribut1 LIKE '$attribut%' ORDER BY merkmal;";
__________________
Gehelft? Hier kannst du dich bedanken.
mike
|
|
|
10.06.2002, 11:14
|
#3
|
|
TP-Specialist
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
|
die eigentliche syntax sieht so aus ...
$anfrage="SELECT * FROM tabelle WHERE '$Attribut' LIKE '$Suchabfrage' ORDER BY merkmal;";
das attribut kommt von einem
Attribut <select name='Attribut' size='1'>
<option value='1. Attribut'> 1. Attribut
<option value='2. Attribut'> 2. Attribut
<option value='3. Attribut'> 3. Attribut
.
.
.
</select>
Suchabfrage: <input type='text' name='Suchabfrage' size='10' maxlength='20' value='%'>
der selecter und das eingabefeld fuer die suchabfrage liegen in einer html-datei und werden an die php weitergeben. doch die abfrage haut einfach nicht hin!
theo
|
|
|
10.06.2002, 11:34
|
#4
|
|
TP-Specialist
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
|
identisches script zum dl ...
ich habe ein identisches script gefunden, welches die gleichen parameter aufweist, wie das meine.
einfach nur die mysql_connect() nach den eigenen gegebenheiten aendern und ausprobieren. auch hier erhalte ich immer nur fehlermeldungen!
|
|
|
10.06.2002, 14:01
|
#5
|
|
TP-Supporter
Registriert seit: May 2001
Ort: Berlin
|
Da die Varialbe $Attribut ja den Spaltenamen in der Abfrage darstellt, sollte er
1. nicht in Anführungszeichen stehen
2. hast Du den Spaltennamen denn wirklich 1.Attribut genannt ? Ich kann mir garnicht vorstellen, dass mySQL das elaubt
viellicht hilft es, wenn Du hier mal die Strukur der Tabelle 'tabelle' postest
|
|
|
10.06.2002, 15:00
|
#6
|
|
TP-Specialist
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
|
sorry ...
hab ich doch glatt vergessen!
http://fabdq.fh-potsdam.de/mysql/mysqlexamples.zip
da liegt das script, das ich meinte!
ja, das attribut (es heistt lediglich attribut. ich habe es nur so genannt, weil danach noch eine bedinung folgt) sollte nicht in ' ' stehen. doch lasse ich sie weg, dann entsteht der beschriebene fehler .... witzigerweise auch bei herrn daessler.
ich weiss nun auch nicht, wie ich das noch handhaben soll. die scripte habe ich nun schon zig-mal geaendert, aber keine aenderung im ergebnis -> entweder fehlermaldung oder auswahl aller datensaetze.
theo
|
|
|
10.06.2002, 15:43
|
#7
|
|
TP-Supporter
Registriert seit: May 2001
Ort: Berlin
|
aber die Variable $attribut hat dann aber auch den FELDNAMEN als Wert ?
am besten gibst Du mal $anfrage aus :
ergänze folgende Zeile nach $anfrage = "...
echo $anfrage;
und postest dann, was der Browser ausgibt
|
|
|
10.06.2002, 15:49
|
#8
|
|
TP-Specialist
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
|
ausgabe der $anfrage
select * from tabelle where " like ";
|
|
|
10.06.2002, 15:55
|
#9
|
|
TP-Specialist
Registriert seit: Jan 2002
Ort: TP/Dynamik
|
also:
lass dir den string ausgeben, kopier ihn und versuch mal den befehl dann im mysqlfront oder so laufen zu lassen.
prinzipiell muss ich sagen, dass ich da eigentlich keinen fehler gefunden hab bis auf die tatsache, dass man mit like 'suchstring' nix finden tut - ausser es ist exakt der gleiche name.
willst du z.b. alle bücher finden, die mit 'T' beginnen ist es ratsam das '%' hintendran zu hängen.
@howie: habs selbst gerade ausprobiert - das ding lässt wirklich 1.Attribut als namen zu - pervers
lf
__________________
Gehelft? Hier kannst du dich bedanken.
mike
|
|
|
10.06.2002, 16:01
|
#10
|
|
TP-Specialist
Registriert seit: Jan 2002
Ort: TP/Dynamik
|
kaum is man mal ein bissl beschäftigt - ....
naja kann ja net gehen. also liegt der wurm wohl in der übergabe.
post mal die scritps - so wie du sie gerade testest.
lf
__________________
Gehelft? Hier kannst du dich bedanken.
mike
|
|
|
10.06.2002, 16:18
|
#11
|
|
TP-Specialist
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
|
also ...
wenn ich den string im mysql schreiben und die gleiche anfrage starte dann sieht das so aus:
select * from tabelle where attribut like suchabfrage
fuer das beispiel buch wueder das so aussehen
select * from buch where VerlagNr like 2
und schon gibt er die gewuenschten werte aus. nur bei der variante mit dem selecter und variablem attribut haut es nachher nicht mehr hin.
theo
|
|
|
10.06.2002, 16:27
|
#12
|
|
TP-Specialist
Registriert seit: Jan 2002
Ort: TP/Dynamik
|
is ja auch kein wunder:
Zitat:
|
select * from tabelle where " like ";
|
was soll er denn da wo finden?
bitte DEIN script posten!
__________________
Gehelft? Hier kannst du dich bedanken.
mike
|
|
|
10.06.2002, 16:37
|
#13
|
|
TP-Supporter
Registriert seit: May 2001
Ort: Berlin
|
ja,offenbar klappt da was mit der variablenübergabe nicht
benutzt du vielleicht php 4.2.0 ohne globalen variablen ?
|
|
|
10.06.2002, 17:09
|
#14
|
|
TP-Specialist
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
|
@ Howie Munson II
jetzt musst du mir mal helfen.
ich benutze php 4.2.0, nur woran sehe ich, ob ich "globale variablen" verwende?
theo
|
|
|
10.06.2002, 17:15
|
#15
|
|
TP-Greis
Registriert seit: Jun 2001
Ort: Bonn-Altstadt
|
Steht entweder in der php.ini (register_globals [on|off]) oder lässt sich per php_info() ermitteln. Wenn Du aber an der Standardeinstellung nix geändert hast, sind diese (noch) eingeschaltet.
__________________
Give up yourself into the moment — The time is now.
|
|
|
|
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 09:01 Uhr.
|
 |