suche in mysql mit php

Dann connecte mal anders (sollte aber eigentlich keine Rolle spielen, deine Lösung ist nur veraltet):

PHP:
mysql_connect ($server, $user, $pw);
mysql_select_db ($db);

// Und die Abfrage dann so:

mysql_query($query);

Wenn das auch nicht geht bitte nochmal das Query mit echo ausgeben, im PHPMyAdmin ausprobieren und posten...:-)
 
Ja aber du musst natürlich dort oben auch nicht mysql_query ausführen, das ist eine Funktion. Du musst dort nur den Query generieren. Also $query .= (news..........
 
habe jetzt folgenes gemacht und bekomme dann nur eine Fehlermeldung:
PHP:
$firsttime = true; 
$query = 'select * from table testtabelle'; //anfang der abfrage 
    for($i=0; $i<count($eingabe_array); $i++){ 
       if ($firsttime == true) { 
          mysql_query($query) .= ' where '; 
          $firsttime = false; 
       } 
       mysql_query($query) .= "(news_text like '%".$eingabe_array[$i]."%' or ueberschrift like '%".$eingabe_array[$i]."%' or autor like '%".$eingabe_array[$i]."%')"; 
            //ob der $i-te begriff in einer der drei spalten enthalten ist (mit oder verknüpft) 
        if($i<count($eingabe_array)-1){ 
            mysql_query($query) .= ' and '; 
        } 
        //verknüpfung der einzelnen worte mit und 
    } 



echo $query;

Parse error: parse error in /home/sites/site106/web/php/suche2.php on line 29


Zeile 26 ist die, wo ich das erste Mal "mysql_query($query)" eingefügt habe.
Ich hoffe ich habe das jetzt richtig eingefügt.

peter
 
PHP:
$firsttime = true; 
$query = 'select * from table testtabelle'; //anfang der abfrage 
    for($i=0; $i<count($eingabe_array); $i++){ 
       if ($firsttime == true) { 
          mysql_query($query) .= ' where '; 
          $firsttime = false; 
       } 
       $query .= "(news_text like '%".$eingabe_array[$i]."%' or ueberschrift like '%".$eingabe_array[$i]."%' or autor like '%".$eingabe_array[$i]."%')"; 
            //ob der $i-te begriff in einer der drei spalten enthalten ist (mit oder verknüpft) 
        if($i<count($eingabe_array)-1){ 
            $query .= ' and '; 
        } 
        //verknüpfung der einzelnen worte mit und 
    }

und erst unten mysql_query($query);
 
meine Code sieht jetzt so aus:

PHP:
include ("config.php");

mysql_connect ($db_server, $db_user, $db_passwort); 
mysql_select_db ($db_name); 

$eingabe = 'te';



$firsttime = true; 
$query = 'select * from table testtabelle'; //anfang der abfrage 
    for($i=0; $i<count($eingabe_array); $i++){ 
       if ($firsttime == true) { 
          $query .= ' where '; 
          $firsttime = false; 
       } 
       $query .= "(news_text like '%".$eingabe_array[$i]."%' or ueberschrift like '%".$eingabe_array[$i]."%' or autor like '%".$eingabe_array[$i]."%')"; 
            //ob der $i-te begriff in einer der drei spalten enthalten ist (mit oder verknüpft) 
        if($i<count($eingabe_array)-1){ 
            $query .= ' and '; 
        } 
        //verknüpfung der einzelnen worte mit und 
    }
mysql_query($query);

echo $query;

Die Ausgabe ist:

PHP:
select * from table testtabelle
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/sites/site106/web/php/suche2.php on line 45

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/sites/site106/web/php/suche2.php on line 46

Ich habe jetzt mal einfach select * from testtabelle (ohne table) in phpmyadmin eingegeben und dann bekomme ich in phpmyadmin eine Ausgabe (er gibt die ganze Tabelle aus).
 
PHP:
include ("config.php"); 

mysql_connect ($db_server, $db_user, $db_passwort); 
mysql_select_db ($db_name); 

$eingabe = 'te'; 

$firsttime = true; 
$query = 'select * from table testtabelle'; //anfang der abfrage 
    for($i=0; $i<count($eingabe_array); $i++){ 
       if ($firsttime == true) { 
          $query .= ' where '; 
          $firsttime = false; 
       } 
       $query .= "(news_text like '%".$eingabe_array[$i]."%' or ueberschrift like '%".$eingabe_array[$i]."%' or autor like '%".$eingabe_array[$i]."%')"; 
            //ob der $i-te begriff in einer der drei spalten enthalten ist (mit oder verknüpft) 
        if($i<count($eingabe_array)-1){ 
            $query .= ' and '; 
        } 
        //verknüpfung der einzelnen worte mit und 
    } 
$result2 = mysql_query($query);

while ($result = mysql_fetch_row($result2)) {
$news_id = $result['news_id']; //abfrage der news_id von der datenbank 
/*
...
*/
}

Weiter vorbrösmlen kann ich es dir wirklich nicht mehr :(
 
vielen Dank erst einmal für deine ganzen Antworten!
jetzt bekomme ich folgende Fehlermeldung:
"Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/sites/site106/web/php/suche2.php on line 38"
welches die Zeile "while ($result = mysql_fetch_row($result2))"

Mein Problem ist: Ich habe eine mysql Datenbank mit Personen und jede hat Eigenschaften. Und jetzt soll man die Datenbank nach den Eigenschaften durchsuchen können. Die Suche soll also ne Kombi sein aus verschienden Variablen, deshalb weiß ich gar nicht, ob oberes total geeigenet ist, aber es war das einzige Tutorial/Script, was ich in Bezug auf Suchen und Mysql gefunden habe.
 
Dein Statement ist einfach falsch...Geh mal ins PHPMyAdmin und probier da mal bis es funktioniert, und dann analysierst du es mal und versuchst so es hinzubekommen...Ich kann dir nur soviel sagen...Ansonsten versuchs mal mit :google:
 
ich habe jetzt folgendne Code:
PHP:
include ("config.php"); 

mysql_connect ($db_server, $db_user, $db_passwort); 
mysql_select_db ($db_name); 
//eingabe = 'bra'

$sql = 'SELECT * '
        . ' FROM `pgost_betreuerdatenbank` '
        . ' WHERE 1 AND `Komitee` '
        . ' LIKE \'bra\' LIMIT 0, 30'; 

mysql_query($sql);
und bekomme als Ausgabe ne leeren Seite - mit welchem Befehl komme ich denn jettz an das Ergebniss der Abfrage?
 
Zurück