Hi, habe mal das Script welches hier im Forum als Tutorial gezeigt wird um etwas in der DB zu suchen, ausprobiert. Ja aber irgendwie zeigt er mir dann nen Fehler an. Liegt das an mir, oder ist das Script falsch!
Hier mein Code:
Er zeigt mir dann folgenden Fehler an:
Line 24: $num_news = mysql_num_rows($result) OR die(mysql_error());
Hier mein Code:
PHP:
<?php
$dbserver = "xxx";
$dbuser = "xx";
$dbpass = "xx";
$dbname = "xx";
$conn = mysql_connect($dbserver, $dbuser, $dbpass);
mysql_select_db($dbname);
$eingabe_array = explode(' ','Aufbau Beispieltext');
$query = "select * from newsdb where "; //anfang der abfrage
for($i=0; $i<count($eingabe_array); $i++){
$query .= "artikel 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
}
$result = mysql_db_query($query,$conn); //anfrage an die datenbank
$num_news = mysql_num_rows($result) OR die(mysql_error()); //anzahl der zurückgegebenen datensätze
for($i=0; $i<$num_news; $i++){
$news_id = mysql_result($result,$i,'artikel'); //abfrage der news_id von der datenbank
$ueberschrift = mysql_result($result,$i,'artikel'); //abfrage der ueberschift
$news_text = mysql_result($result,$i,'artikel'); //abfrage der news
$first = array_slice(explode(' ', $news_text), 0, 40); //explode teilt den string wieder an der ' ' und array_slice erstellt einen neuen array mit den ersten 40 elementen = worten der news
$kurze_news = join(' ', $first) . '... '; //join verbindet die elemente des arrays wieder zu einem string. am ende werden noch drei punkte angehängt...
echo '<a href="show_news.php?news_id='.$news_id.'">'.$ueberschrift.'</a><br>'; //links auf die seite show_news.php
echo $kurze_news.'<br><br>'; //der 40 worte lange anfang des newstextes
}
?>
Er zeigt mir dann folgenden Fehler an:
PHP:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/www/web7/html/suche.php on line 24
Incorrect database name 'select * from newsdb where artikel like 'Aufbau' or autor like 'Aufbau''
Line 24: $num_news = mysql_num_rows($result) OR die(mysql_error());