Seite 1 von 1

Wie kann ich ähnliche Einträge auslesen?

Verfasst: Mo 09.Aug, 2010 14:31
von Holger
Hallo,

ich habe hier eine Tabelle
http://www.maskinisten.net/bultcirklar/index.php
der ich eine Suchfunktion eingebaut habe.
Das klappt hervorragend.

Code: Alles auswählen

$term = $_POST['term'];
$sql = mysql_query("select * from datenbank where fabrikat like '%$term%' or modell like '%$term%'");
ABER, in einigen Feldern sind Werte eingetragen, z.B. "281" (mm-Angabe).
Nun möchte ich aber auch diesen Eintrag finden, wenn ich 280 oder 279 eingebe.
Kann ich das mit NEAR machen? Wo ist der Unterschied zu LIKE?



Dann noch eine Frage zu SQL injection-Attacken.
Mir wurde empfohlen, mysql_real_escape_string() zu verwenden.
http://php.net/manual/en/function.mysql ... string.php
Wie verwende ich das?

Gruss
Holger

Re: Wie kann ich ähnliche Einträge auslesen?

Verfasst: Mo 09.Aug, 2010 15:36
von oxpus
NEAR bedeutet die Prüfung auf Gleitkommazahlen.
Also z. B. wäre

Code: Alles auswählen

NEAR (5, 0.03)
gleichbedeutend mit

Code: Alles auswählen

>= 4.97 AND <= 5.03
Das ist mit LIKE nicht zu vergleichen, auch nicht gegenteilig.

Re: Wie kann ich ähnliche Einträge auslesen?

Verfasst: Mo 09.Aug, 2010 15:46
von Holger
Okay, also könnte ich irgendwie NEAR (Inhalt Feld, Abstand) verwenden?! Das wäre ja schonmal eine Lösung!

Re: Wie kann ich ähnliche Einträge auslesen?

Verfasst: Mo 09.Aug, 2010 19:25
von oxpus
Naja, wenn die Inhalte als Gleitkommazahlen vorliegen, schon. Ob das auch bei Ganzzahlen (also Integer) klappt, weiß ich jetzt auch nicht genau.

Re: Wie kann ich ähnliche Einträge auslesen?

Verfasst: Mo 09.Aug, 2010 20:56
von Holger
Ok! Danke!

Re: Wie kann ich ähnliche Einträge auslesen?

Verfasst: Fr 05.Nov, 2010 18:41
von MADxHAWK
Holger hat geschrieben:Mir wurde empfohlen, mysql_real_escape_string() zu verwenden.
http://php.net/manual/en/function.mysql ... string.php
Wie verwende ich das?
z.B. so:

Code: Alles auswählen

$sql = "INSERT INTO table (fabrikat, type) VALUES ('" . mysql_real_escape_string($fabrikat) . "', '" . mysql_real_escape_string($type) . "')";

Re: Wie kann ich ähnliche Einträge auslesen?

Verfasst: Fr 05.Nov, 2010 20:01
von Holger
DANKE! :anbet