DB-Abfrage klappt nicht

Merlin732

Erfahrenes Mitglied
Hi, ich habe diesen Code:

PHP:
$eingabe_array = explode(' ',$suchfeld);

$query = 'select * from table tt_content where '; //anfang der abfrage 
    for($i=0; $i<count($eingabe_array); $i++){ 
        $query .= "(bodytext like $eingabe_array[$i] or header like $eingabe_array[$i])"; 
            //ob der $i-te begriff in einer der zwei spalten enthalten ist (mit oder verknüpft) 
        if($i<count($eingabe_array)-1){ 
            $query .= ' and '; 
        } 
        //verknüpfung der einzelnen worte mit und 
    } 
    
echo '<p>Query: <b>'.$query.'</b></p>';
        

$result = mysql_fetch_array($query); 

echo '<p>Result: <b>'.$result.'</b></p>';

Als Query bekomme ich folgendes: select * from table tt_content where (bodytext like 'Komponenten' or header like 'Komponenten')

Das sieht richtig aus, aber für $result bekomme ich keine Ausgabe, sieht jemand den Fehler?
 
Hi,

Also:
1. Ist $result ein array.. Den kannst Du nicht mir print einfach ausgeben (versuchs mal mit print_r())
2. Wäre nett zu wissen, welches DBMS du verwendest.. Versuch mal den Query direkt im DBMS abzusetzen um zu sehen, ob der überhaupt ein resultat liefert...

LG
Mike

EDIT: Stimmt: Der Query wird auch nirgendwo ausgeführt...
 
Hi,

was ist ein DBMS? Wenn ich richtig rate dann PHP-Myadmin.

Ich habs mal die result-zeile durch $result = mysql_db_query('typo3',$query); ersetzt und print_r statt echo. Wenn die Query-Zeile stimmt, dann müsste er doch spätestens jetzt etwas ausführen oder?
 
DBMS = Dein Datenbanksystem (MySQL v. irgendwas)
Teste den Query mal in phpmyadmin.. dann siehst du, oder der überhaupt stimmt und etwas ausliefert...

Weil so wie der Query aussieht wird der nicht funktionieren..
 
So, habe den Code nochmal überarbeitet und an die Ausgabe von PHP-MyAdmin angepasst.

Als Ergebniss erhalte ich nun dies: select * from table tt_content where bodytext like '%Komponenten%' or header like '%Komponenten%' ... sie wie es in MyAdmin auch ausschaut.

Bei result erhalte ich aber leider immernoch keine ausgabe.
 
Bekommst du im phpmyadmin eine Ausgabe
Das ist das grundlegende.. sonst ist im resultset natürlich auch nichts enthalten...
 
Ihr SQL-Befehl wurde erfolgreich ausgeführt. (die Abfrage dauerte 0.0088 sek)
SQL-Befehl:
SELECT *
FROM `tt_content`
WHERE `bodytext` LIKE '%komponenten%'
OR `header` LIKE '%komponenten%'

also die Anfrage ist richtig, nur die `` habe ich per hand hinzugefügt, da ich sie in php noch nie so gesehen habe.

aber eine ausgabe erhalte ich immernoch nicht. und selbst wenn result ein array ist, müsste ja als ausgabe mindestens array erscheinen.
 
Zurück