abfrage nach dem Word "seven"
abfrage nach dem Word "seven"
am 25.02.2006 17:33:14 von devrim
Hallo NG,
ich starte eine suche nach dem Wort "seven" in foplgender Weise:
SELECT * FROM xy_table WHERE firma = "seven";
es liefert mir keine Ergebnisse.
Wenn ich aber folgender Weise suche starte:
SELECT * FROM xy_table WHERE firma LIKE '%seven%';
dann bekomme ich den Ergebnis.
Was muss ich ändern, damit ich in erster Form die Suche erfolgreich
ergebnisse liefert?
Ich möchte also, wenn möglich, die zweite Version mit LIKE nicht benutzen.
in DB_Table habe ich das Feld firma als TEXT definiert und alle Einträge
sind von Type Text.
mfg
Devrim.
Re: abfrage nach dem Word "seven"
am 25.02.2006 19:07:14 von Knut Kohl
Devrim schrieb am 25. Feb 2006 in de.comp.datenbanken.mysql:
> Hallo NG,
> ich starte eine suche nach dem Wort "seven" in foplgender Weise:
> SELECT * FROM xy_table WHERE firma = "seven";
> es liefert mir keine Ergebnisse.
> Wenn ich aber folgender Weise suche starte:
> SELECT * FROM xy_table WHERE firma LIKE '%seven%';
> dann bekomme ich den Ergebnis.
> Was muss ich ändern, damit ich in erster Form die Suche erfolgreich
> ergebnisse liefert?
Was steht denn in firma WIRKLICH drin (ich denke da an Zeilenumbruch
etc.)?
Versuche mal zur Kontrolle
SELECT concat('|',firma,'|') FROM xy_table WHERE firma LIKE '%seven%';
echo '
'.nl2br(htmlspecialchars($res['firma'])).'
';
und schaue Dir den Quelltext der Seite an.
> Ich möchte also, wenn möglich, die zweite Version mit LIKE nicht benutzen.
> in DB_Table habe ich das Feld firma als TEXT definiert und alle Einträge
> sind von Type Text.
> mfg
> Devrim.
Knut
--
Newsoffice.de - Die Onlinesoftware zum Lesen und Schreiben im Usenet
Re: abfrage nach dem Word "seven"
am 25.02.2006 21:41:55 von Thomas Rachel
Knut Kohl wrote:
> Versuche mal zur Kontrolle
> SELECT concat('|',firma,'|') FROM xy_table WHERE firma LIKE '%seven%';
Soweit ok.
> echo '
'.nl2br(htmlspecialchars($res['firma'])).'
';
ERROR 1064 (42000): You have an error in your SQL syntax; check the
manual that corresponds to your MySQL server version for the right
syntax to use near 'echo
''.nl2br(htmlspecialchars($res['firma'])).'
'' at line 1
Hmm... kanns also nicht sein. Evtl. Topic der Newsgroup nicht ganz
beachtet?
> und schaue Dir den Quelltext der Seite an.
Seite?
Thomas
--
Viele Probleme erledigen sich von selbst, wenn man sie nicht dabei stört.
(Ernst Waldbrunn)
Re: abfrage nach dem Word "seven"
am 25.02.2006 22:27:46 von Knut Kohl
Hallo Thomas,
Thomas Rachel schrieb am 25. Feb 2006 in de.comp.datenbanken.mysql:
> Knut Kohl wrote:
>> Versuche mal zur Kontrolle
>> SELECT concat('|',firma,'|') FROM xy_table WHERE firma LIKE '%seven%';
> Soweit ok.
Ups, da fehlt ja ne Zeile :-)
"Und wenn Du die Abfrage ZUFÄLLIG in einem PHP-Script verwendest,
versuche mal:"
>> echo '
'.nl2br(htmlspecialchars($res['firma'])).'
';
> ERROR 1064 (42000): You have an error in your SQL syntax; check the
> manual that corresponds to your MySQL server version for the right
> syntax to use near 'echo
> ''.nl2br(htmlspecialchars($res['firma'])).'
'' at line 1
> Hmm... kanns also nicht sein. Evtl. Topic der Newsgroup nicht ganz
> beachtet?
Stimmt, da ich auch in den PHP-spezifischen Gruppen unterwegs bin...
>> und schaue Dir den Quelltext der Seite an.
> Seite?
> Thomas
Knut
--
Newsoffice.de - Die Onlinesoftware zum Lesen und Schreiben im Usenet
Re: abfrage nach dem Word "seven"
am 26.02.2006 14:33:34 von devrim
"Knut Kohl" schrieb im
Newsbeitrag news:1140890834.18@user.newsoffice.de...
> Devrim schrieb am 25. Feb 2006 in de.comp.datenbanken.mysql:
>
>> Hallo NG,
>
>> ich starte eine suche nach dem Wort "seven" in foplgender Weise:
>
>> SELECT * FROM xy_table WHERE firma = "seven";
>
>> es liefert mir keine Ergebnisse.
>
>> Wenn ich aber folgender Weise suche starte:
>
>> SELECT * FROM xy_table WHERE firma LIKE '%seven%';
>
>> dann bekomme ich den Ergebnis.
>
>> Was muss ich ändern, damit ich in erster Form die Suche erfolgreich
>> ergebnisse liefert?
>
> Was steht denn in firma WIRKLICH drin (ich denke da an Zeilenumbruch
> etc.)?
es steht genau dieser Text: "Seven Fenster-Türen-Rolladen
Verkauf &
Montage"
aber ichabe inzwieschen meine Abfrage nach dem Feld "Name" erweitert.
normalerweize sollte wenn in firma "seven" nicht gefunden werden kann, dann
soll nach name "seven" gesucht. un in dem feld "name" steht: "Göksel Seven"!
meine Abfrage findet trotztem "seven" nicht!
>
> Versuche mal zur Kontrolle
> SELECT concat('|',firma,'|') FROM xy_table WHERE firma LIKE '%seven%';
>
> echo ''.nl2br(htmlspecialchars($res['firma'])).'
';
>
> und schaue Dir den Quelltext der Seite an.
>
>> Ich möchte also, wenn möglich, die zweite Version mit LIKE nicht
>> benutzen.
>
>> in DB_Table habe ich das Feld firma als TEXT definiert und alle Einträge
>> sind von Type Text.
>
>> mfg
>> Devrim.
>
> Knut
>
> --
>
> Newsoffice.de - Die Onlinesoftware zum Lesen und Schreiben im Usenet
Re: abfrage nach dem Word "seven"
am 26.02.2006 14:38:50 von Dirk Brosowski
Devrim schrieb:
> "Knut Kohl" schrieb im
>
>
> es steht genau dieser Text: "Seven Fenster-Türen-Rolladen
Verkauf &
> Montage"
> aber ichabe inzwieschen meine Abfrage nach dem Feld "Name" erweitert.
> normalerweize sollte wenn in firma "seven" nicht gefunden werden kann, dann
> soll nach name "seven" gesucht. un in dem feld "name" steht: "Göksel Seven"!
>
> meine Abfrage findet trotztem "seven" nicht!
Was erwartest du denn? Es steht doch nicht seven in dem Feld drin. Also
geht das nur mit like.
Grüße
Dirk
Re: abfrage nach dem Word "seven"
am 26.02.2006 15:11:50 von Christian Kirsch
Devrim wrote:
> "Knut Kohl" schrieb im
> Newsbeitrag news:1140890834.18@user.newsoffice.de...
>
>>Devrim schrieb am 25. Feb 2006 in de.comp.datenbanken.mysql:
>>
>>
>>>Hallo NG,
>>
>>>ich starte eine suche nach dem Wort "seven" in foplgender Weise:
>>
>>>SELECT * FROM xy_table WHERE firma = "seven";
>>
>>>es liefert mir keine Ergebnisse.
>>
>>>Wenn ich aber folgender Weise suche starte:
>>
>>>SELECT * FROM xy_table WHERE firma LIKE '%seven%';
>>
>>>dann bekomme ich den Ergebnis.
>>
>>>Was muss ich ändern, damit ich in erster Form die Suche erfolgreich
>>>ergebnisse liefert?
>>
>>Was steht denn in firma WIRKLICH drin (ich denke da an Zeilenumbruch
>>etc.)?
>
>
> es steht genau dieser Text: "Seven Fenster-Türen-Rolladen
Verkauf &
> Montage"
> aber ichabe inzwieschen meine Abfrage nach dem Feld "Name" erweitert.
> normalerweize sollte wenn in firma "seven" nicht gefunden werden kann, dann
> soll nach name "seven" gesucht. un in dem feld "name" steht: "Göksel Seven"!
>
> meine Abfrage findet trotztem "seven" nicht!
>
Ja, und? Du fragst ja nicht
Steckt irgendwo in dem Feld der String "seven" ?
sondern Du fragst
Besteht das Feld genau die fünf Zeichen "seven"?
Das ist eben der Unterschied zwischen '=' und 'LIKE'.
Unter dev.mysql.com findest Du in der Dokumentation auch ein "Tutorial"
betiteltes Kapitel. Außerdem gibt's Bücher zu SQL, die auch die Syntax
und Semantik der Operatoren erklären (sollten).