Teile eines Namens in der Db suchen

Grunge

Erfahrenes Mitglied
Hi,

ich komm bei 2 Dingen nicht weiter:

Eine einfache Suche in Php gestalten ist ja ganz einfach:

PHP:
<?
$suchwort=$_POST['user'];

$sql="SELECT * FROM such_tabelle WHERE nickname='".$suchwot."'";
$result=mysql_query($sql) or die(mysql_error());
$ergebnis=mysql_fetch_assoc($result);

//AUSGABE etc..
?>

doch wie schaffe ich es, das auch nach teilen eines wortes gesucht wird. beispielsweise habe ich in einer tabelle in der spalte "nickname" einträge mit folgenden namen:

user1
user_xyz
test
user_cool
foobar_user
foobar

Also 6 Einträge mit unterschiedlichen Namen. Wenn ich nun aber per Formular beispielsweise den Wert "user" übergeben bekome, so zeigt er mir nach meiner Funktion oben nichts an. Er soll aber all die Einträge anzeigen, die den Begriff mindestens enthalten....

Ich danke euch im Vorraus
 
Schonmal was von dem MySQL-Platzhalter % gehört?
Hab jetzt leider keinen Link dazu, aber
PHP:
$sql="SELECT * FROM such_tabelle WHERE nickname='%".$suchwot."%'";
Sollte klappen.
 
Probier es lieber mit einem LIKE-Vergleich:
PHP:
<?php

	$query = '
		SELECT
		        *
		  FROM
		        `such_tabelle`
		  WHERE
		        `nickname` LIKE "%'.mysql_real_escape_string($_POST['user']).'%"
		';
	$result = mysql_query($query)
		or die(mysql_error());
	…

?>
 
Zurück