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).