hallo allemaal ,
ik probeer een goede zoekfunctie te schrijven, waarmee je in bepaalde catogorien kan zoekn. en dat werkt prachtig maar als je geen catogorie kiest dan zit je met het probleem dat hij ook helemaal niets vind. Hoe moet ik dit oplossen is mijn script gewoon fout of ....
<?
$zoek = $_GET['zoekterm'];
$scat = $_GET['subcat'];
$cat = $_GET['cat'];
if($cat==''){
$sqlquery = "SELECT * FROM add_tb WHERE subrubriek='$scat' AND bericht LIKE '%$zoek%'";
}else if($scat==''){
$sqlquery = "SELECT * FROM add_tb WHERE rubriek=".$cat." AND bericht LIKE '%$zoek%'";
}else if($cat=='' || $scat==''){
$sqlquery = "SELECT * FROM add_tb WHERE bericht LIKE '%$zoek%'";
}else{
$sqlquery = "SELECT * FROM add_tb WHERE rubriek=".$cat." AND subrubriek='$scat' AND bericht LIKE '%$zoek%'";
}
$result = mysql_query($sqlquery) or die(mysql_error());

if (mysql_num_rows($result) > 0) {
while($row = mysql_fetch_assoc($result)) {

echo $row['titel'];
echo "<br/><br/>";
}
}else{
echo "Er zijn geen advertenties gevonden";
}

?>
De query wordt niet uitgevoerd. Foutafhandeling .....
en als je toch bezig gaat met foutafhandeling doe het hele script dan meteen goed alsjeblieft!
Hoe vaak ik het zie dat mensen met het verkeerde idee beginnen is echt niet te tellen.
Voor debuggen gewoon heel simpel dit gebruiken:

<?php
mysql_query($sqlquery) or die(mysql_error());
?>

Nu zal ik straks wel weer Karl op mijn nek krijgen dat het niet zo moet, maar doe eerst maar eens dat om te kijken waar het fout gaat, kunnen we daarna nog altijd iets beters verzinnen.
(NOOIT deze code gebruiken in een website TENZIJ je hem debugt! Op deze manier is het enorm makkelijk om SQL injection toe te passen.
rvw schreef op 02.06.2009 15:46

dit lijkt er meer op.
nu moet je nog wel de de fout afhandeling iets beter maken.


Dus wat krijg je als foutmelding !

Reageren