Suchen in Mysql ergibt Fehler

mageDSA

Mitglied
Hall Leute

Hier der Code


<?php
$connection = mysql_connect("localhost","user","pass") or die ("Konnte Verbindung zur Datenbank nicht herstellen!");
mysql_select_db("magedsa-at") or die ("Die Datenbank konnte nicht ausgewählt werden!");
$eingabe = "SELECT id,link,beschreibung,link FROM ao WHERE id,link,beschreibung,sprache LIKE '%$eingabe%'";
if ( $result = mysql_query($eingabe) )
{
if( mysql_num_row($eingabe) > 0)
{
echo 'ol';
while ( $row = mysql_fetch_array($result) )
{
echo '<li><a href="', $row[0], '">', $row[1], '</a></li>';
}
echo '</ol>';
}
else
{
echo '<p>Keine Eintr&auml; gefunden!<p>';
}
}
else
{
echo '<p><div class="up"><b>Fehler in der Datenbankabfrage. -- progress stoped</b></div></p>';
}
?>


Problem:

Ich übergebe aus einem Formular das zu suchende Wort in $eingabe mit der Funktion post.

Aber ich bekomme immer eine Fehlermeldung die im Code enthalten ist.

Hier Fehlermeldung
Fehler in der Datenbankabfrage. -- progress stoped

Mir kommt vor als ob er garnicht sucht sondern gleich bist zur letzten Zeile hüpft und den Fehler ausgibt.

Ich hab eine Tabelle: ao
Feld1: id
Feld2: link
Feld3: beschreibung
Feld4: sprache

Kann mir da wer helfen bitte.

Danke

:)
 
PHP:
$eingabe = "SELECT id,link,beschreibung,link FROM ao WHERE id,link,beschreibung,sprache LIKE '%$eingabe%'";

Ich verstehe nicht, was mit dem letzten Argument gemeint ist.
Bin mir auch nicht sicher ob das geht.
Wann, dann so:

PHP:
$eingabe = "SELECT id,link,beschreibung,link FROM ao WHERE id LIKE '%$eingabe%' AND link LIKE '%$eingabe%' AND beschreibung LIKE '%$eingabe%' AND sprache LIKE '%$eingabe%'";

Aber ich kann mir nicht vorstellen, dass du das meinst..

scope.
 
Mann ich bekomm das nicht hin :(

Bitte kann ma da keiner helfen.

Soll nur ein ganz simples suchscript sein.

Bitte helft mir bin schon ganz verzweifelt.
 
PHP:
$eingabe = "SELECT id,link,beschreibung,link FROM ao WHERE id LIKE '%$eingabe%' OR link LIKE '%$eingabe%' OR beschreibung LIKE '%$eingabe%' OR sprache LIKE '%$eingabe%'";

Rein logisch denken, würd ich mal sagen, das du das brauchst.
 
Nein das geht auch net :(

Dann kommt ne Fehler Meldung

if( mysql_num_row($eingabe) > 0)

Er beschreibt dann die Zeile als ungültig weil er nicht weiß
was mei mysql_num() in den Klammern steht.


$eingabe = "SELECT id,link,beschreibung,link FROM ao WHERE id LIKE '%$eingabe%' OR link LIKE '%$eingabe%' OR beschreibung LIKE '%$eingabe%' OR sprache LIKE '%$eingabe%'";

Da steht zwar

$eingabe = " Select etc

Aber muss da zwischen = und " net ein mysql Befehl rein ?

Poah ich krieg die Krise :-)
 
-

Du kannst die mysql_num_rows() Funktion nicht auf einen String anwenden, in deinem Fall $eintrag, sondern auf den Rückgabewert eines mysql_querys.
Also
PHP:
if( mysql_num_row($result) > 0)
 
Zurück