Problem mit Suche

TS-JC

Erfahrenes Mitglied
Problem mit Suche (MySQL)

UPDATE: Problem gelöst:
es muss nicht $search heissen, sondern '%$search%'

also ich habe ein Formular, bei dem ich Daten eingebe, die dann an einen 2. Datei geschickt werden, zum auswerten

1. Datei:
PHP:
echo "<form action=\"search.php\" method=post>";
echo "Suchbegriff (z.Zt. nur einer)";
echo "<br>";
echo "<input type=text name=\"Array[search]\" size= 50>";
echo "<br><br>";
echo "Suchen in:";
echo "<br>";
echo "<input type=text name=\"Array[tabelle]\" size= 50 value=\"$_GET[tabelle]\">";
echo "<br>";
echo "(Bitte nicht verändern)";
echo "<br><br>";
echo "<input type=submit name=\"SUBMIT\" value=\"ok\">";
echo "</form>";
?>

2. Datei:
PHP:
MYSQL_CONNECT($server, $user, $passwort) or die ("Datenbankserver nicht erreichbar"); 
MYSQL_SELECT_DB($datenbank) or die ("Datenbank nicht vorhanden"); 
$result=MYSQL_QUERY("SELECT * FROM $tabelle WHERE func LIKE $search"); 

$id='.row[id].';

while ($row=mysql_fetch_array($result)) {            //hier bekomme ich einen Fehler
      echo "<table border=\"1\" width=100%>";
      echo "<tr>";
      echo "<th colspan=2><b>".$row[name]."</b></th>";
      echo "</tr>";

ich hoffe mal, das mir jemand den Fehler erklären kann, ich habe auch schon alles mögliche ausprobiert
 
Zuletzt bearbeitet:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\wampp1324\htdocs\search.php on line 19

sorry, hatte ich vergessen :-)
 
Zuletzt bearbeitet:
nur ein gedanke ..

bennene Variablen mal lieber nicht wie Methoden, sowas kann erstens zu Verwirrungen führen und ist zweitens manchmal recht ungesund.

$Array ist zwar, soweit ich das sehe,
nicht gefährlich kann aber im Script
durchaus Probleme verursachen.

Zu deiner Frage :

Wie willst du $search aufrufen wenn du
es vorher in eine Variable namens $Array
speicherst ? Eigentlich hieße die korrekte
Abfrage :

PHP:
$result=MYSQL_QUERY("SELECT * FROM $tabelle WHERE func LIKE '".$Array[search]."');

Hoffe das hilft.

Gruß,
Mentor Jonathan
 
also ich denke so sollte es gehen:

PHP:
$result=mysql_query('select * from '.$tabelle.' where func like "%$array['search'].'%"');
(die kleinschreibung is net der unterschied...bin nur zu faul für großschreibung)

im meinem tut steht es so:
PHP:
$query .= "(news_text like '%".$eingabe_array[$i]."%' or ueberschrift like '%".$eingabe_array[$i]."%' or autor like '%".$eingabe_array[$i]."%' or)";

hier noch mal der link

wenn das auch net geht, könnte es sein, dass die variable $tabelle gar nicht oder falsch deklariert wurde bzw die tabelle gar nicht existiert.....

gehts???

//bad taste
 
also beides ging net, ich war mir aber auch vorher sicher, dass es net geht

PHP:
$result=mysql_query('select * from '.$tabelle.' where func like "%$array['search'].'%
^^ wie soll das gehen, wenn mal " und mal ' steht?

PHP:
$result=MYSQL_QUERY("SELECT * FROM $tabelle WHERE func LIKE '".$Array[search].
^^ und wie soll das gehen, wenn " vor der Variable steht?

ich hab jedenfalls noch nen bissle rumprobiert

$Array[search] muss auf jeden Fall richtig sein, war nen dummer Fehler von mir

trotzdem habe ich bis jetzt noch nichts erreicht, aber ich probiere nochmal ein bisschen rum, udn vielleicht findet ja einer von euch die Lösung :-)
 
hoops ich hab mich verschrieben:
sollte so heissen:
PHP:
$result=mysql_query('select * from '.$tabelle.' where func like "%'.$array['search'].'%"');
 
Zurück