Probleme mit Suche

toboli

Erfahrenes Mitglied
Beim durchsuchen einer Datenbank erhalte ich keinerlei Ergebnisse , obwohl sich Einträge darin befinden. Einer Fehlermeldung erhalte ich auch nicht.

Hier der Code:
PHP:
<?php 
if($action=='search') { 
$db = MYSQL_CONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen");
$db_select = MYSQL_SELECT_DB($db_name);
$daten = mysql_query("SELECT * FROM tabelle WHERE spalte LIKE '%&search%'"); 
?>
<html>
<head>
<title>Suche</title>
</head>
<body>
Daten:
<?
while($ausgabe = mysql_fetch_array($daten)) {
  echo "$ausgabe[name]";
  echo "$ausgabe[email]";
}

?>
</body>
</html>
<?
}
else {?>
<form action="suche.php?action=search" method="post">
<table width="170" border="0" cellspacing="0" cellpadding="0">
<tr> 
<td width="80">&nbsp;</td>
<td> 
<input type="text" name="search">
</td>
</tr>
<tr> 
<td colspan="2" height="20" valign="bottom" align="right"> 
<input type="submit" value="suchen">
</td>
</tr>
</table>
</form>
<?}
?>
Kann mir jemand sagen wo das Problem ist ?
Danke jetzt schonmal
 
Zuletzt bearbeitet von einem Moderator:
Geh einfach schrittweise ran.

1. Steht überhaupt etwas in $search drin?
2. Lass dir den kompletten Query ausgeben und setz ihn mal in phpmyadmin rein, der liefert dir den evetuellen Fehler.
3. Versuchs mal ohne die Variable, obs mit einem Testwert klappt.

...Debuggen genannt..
 
toboli es ging nicht darum, dass du das $ weglassen sollst, sondern du solltest erstmal überhaupt eins hinschreiben. In deinem Script steht nämlich %&search% und das sollte ja wohl eher %$search% sein gell ?

Ausserdem schätze ich $search wird per Formular übergeben. Wenn nun register_globals = off ist kannst du so nicht darauf zugreifen sondern mit $_REQUEST['search']. Aber zu der Problematik steht auch genug in der FAQ.
 
Zurück