Re: Search Engine

From: Date: Thu, 15 Aug 2002 23:47:45 +0000
Subject: Re: Search Engine
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-112880@lists.php.net to get a copy of this message
Sascha, From just looking at it, the code looks fine. It could be that someone entered a special character in the array like a '%' or something else illegal. Check the code I wrote. I entered a debug statement to see what was generated. This should give you some clue what is wrong with it. You can then copy the code from the browser to enter it into a mySQL DB editor. HTH... Have a great day.. Dan ----------------------------------------------- $Query = "SELECT * FROM referenzen_tbl"; $wa = ' WHERE '; if (strlen($arrSearch) > 0) { // Überhaupt einschränken? for($i = 0; $i < count($arrSearch); $i++) { $Query .= "
$wa (referenzen_tbl.kat     LIKE '%$arrSearch[$i]%'
 OR referenzen_tbl.head    LIKE '%$arrSearch[$i]%'
 OR referenzen_tbl.text    LIKE '%$arrSearch[$i]%'
OR referenzen_tbl.technik LIKE '%$arrSearch[$i]%'
 OR referenzen_tbl.year    LIKE '%$arrSearch[$i]%')";
$wa = " \nAND "; } $Result = mysql_query($Query, $connect);
echo "<pre>$Result $Query </pre>";    //////// DEBUG CODE
} Sascha Braun wrote:
Whats wrong with this code? <? $arrSearch = explode(" ", $_REQUEST['string']); $RSQuery = "SELECT * FROM referenzen_tbl"; if (strlen($arrSearch) > 0) { // Überhaupt einschränken? $Query .= " WHERE ("; $Query .= " referenzen_tbl.kat LIKE '%" . $arrSearch[0] . "%'"; $Query .= " OR referenzen_tbl.head LIKE '%" . $arrSearch[0] . "%'"; $Query .= " OR referenzen_tbl.text LIKE '%" . $arrSearch[0] . "%'"; $Query .= " OR referenzen_tbl.technik LIKE '%" . $arrSearch[0] . "%'"; $Query .= " OR referenzen_tbl.year LIKE '%" . $arrSearch[0] . "%')"; // mehrere Suchwörter sind UND-Verknüpft for($i = 1; $i < count($arrSearch); $i++) { $Query .= " AND ("; $Query .= " referenzen_tbl.kat LIKE '%" . $arrSearch[$i] . "%'"; $Query .= " OR referenzen_tbl.head LIKE '%" . $arrSearch[$i] . "%'"; $Query .= " OR referenzen_tbl.text LIKE '%" . $arrSearch[$i] . "%'"; $Query .= " OR referenzen_tbl.technik LIKE '%" . $arrSearch[$i] . "%'"; $Query .= " OR referenzen_tbl.year LIKE '%" . $arrSearch[$i] . "%')"; } } $Result = mysql_query($Query, $connect); if (mysql_fetch_row($Result)<0) { echo "Es wurden keinen Beitr&auml;ge zu <b>".$_REQUEST['string']."</b>"; } else { echo "Die Suche war erfolgreich!"; while ($arrResult = mysql_fetch_array($Result, MYSQL_ASSOC)) { echo '<p class="text01">'; echo $arrResult['referenzen_tbl.kat']."<br>"; echo $arrResult['referenzen_tbl.head']."<br>"; echo $arrResult['referenzen_tbl.text']."<br>"; echo $arrResult['referenzen_tbl.technik']."<br>"; echo $arrResult['referenzen_tbl.year']."<br>"; echo '</p>'; } } ?> I know that there is a result comming out of the string i entered, but these failure messages are comming up when i load the page: Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\Webverzeichnis\docs\schuraWeb\includes\result.inc.php on line 40 Die Suche war erfolgreich! Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Webverzeichnis\docs\schuraWeb\includes\result.inc.php on line 44 This is my global inc from where the $connect comes: <? $host = 'localhost'; // SQL Server zu dem eine Verbindung aufgebaut werden soll. $user = 'root'; // Name des SQL Benutzers $pass = 'none'; // Kennwort des SQL Benutzers $dbase = 'weitsicht'; // Datenbank // Verbindung zum SQL Server wird hergestellt $connect = mysql_connect($host, $user, $pass) or die("Fehler beim Öffnen der DB auf $host User: $user Kennwort: $pass"); // Datenbank wird ausgewählt $Query = "USE ".$dbase; $selectDB = mysql_query($Query, $connect) or die("Konnte Datenbank aus folgenden Gründen nicht auswählen: ". mysql_error()); ?> Please Help! Schura


« previous php.general (#112880) next »