Ik ben bezig met een zoekfunctie maar er komt steeds geen resultaat terwijl er wel meer dan 50 records in de database staan. Ik krijg ook geen foutmelding.

Wie ziet wat ik fout doe in onderstaande code?

<?php
if(isset($_POST['searchBtn'])) {
$zoekwoord = $_POST['zoekterm'];


    $sql = "SELECT * FROM nieuws WHERE titel LIKE '%".$zoekwoord."%' ORDER BY datum DESC";
    $res = mysql_query($sql);
    if (mysql_num_rows($res) >= 1)
    {
while ($row = mysql_fetch_array($res))
{
?>
<a href="<?php echo "?p=empty&s=blog&id=$row[id]"; ?>"><b><?php echo "$row[titel]"; ?></a></b><br />
<?php echo "$row[samenvatting]"; 
echo '<p>';
}}}
    else
    {
        echo "<p>Helaas is er niks gevonden op uw zoekopdracht. Probeer het opnieuw.</b></p>";
    }
?>


EDIT: foutje eruit gehaald.
$row[id] moet zijn $row['id'] en dan nog 2 keer.
Ja. Nu zie ik het. ;)



<?php
if($_SERVER['REQUEST_METHOD'] == "POST") {
$zoekterm = mysql_real_escape_string($_POST['zoekterm']);

    $sql = "SELECT * FROM nieuws WHERE titel LIKE '%".$zoekterm."%' ORDER BY datum DESC";


if(!$res = mysql_query($sql))
{
 error_log(mysql_error());
 print mysql_errno().": Er is iets fout gegaan.";
}
elseif(mysql_num_rows($res) == 0)
{
    echo 'Helaas is er niks gevonden op uw zoekopdracht. Probeer het opnieuw.';
}
else
{
    while($row = mysql_fetch_assoc($res))
    {

echo "<a href=\"?p=empty&s=blog&id=".$row['id']."\"><b>".$row['titel']."</a></b><br />".$row['samenvatting']."<p>";

    }}}
?>
Nu ik dit topic een beetje doorlees, is dus een sql injection op te lossen met de functie: mysql_real_escape_string?
Of een PHP Beginners handleiding.
Hoe kan ik de berekeningstijd voor de zoekactie tonen?
Dus dan wil ik dit krijgen: Gezocht op: phphulp in 10 ms.

Na wat gegoogel weet ik nog steeds niet hoe ik het voor mekaar kan krijgen.

Reageren