Ik wil een kleine zoekfunctie inbouwen, en heb dit script geschreven:

<?php

if(!empty($_POST)){

$search = $_POST['search'];

$sql = "SELECT * FROM recrea_verkoop WHERE MATCH (adres,plaats) AGAINST ('$search') ORDER BY id DESC";

$res = mysql_query($sql);

if (mysql_num_rows($res) >= 1) {

while ($row = mysql_fetch_array($res)) {

echo "$row[plaats] irreele informatie";

}

} else {

echo "niets in bestand";

}

}
?>

Bij de echo staat niet alles wat ik normaal heb, daar zit t probleem niet in.

Ik krijg constant deze foutmelding:

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /opt/guide/www.lopw.nl/HTML2/overzicht.php on line 484
niets in bestand

Wat doe ik verkeerd!?

Groetjes!
De syntax is goed, heb je de kolommen die je hier wil gebruiken wel ingesteld op fulltext?
Ik heb daar op geklikt in MySQL, maar doe ik daar iets verkeerd?
Dat moet wel, heb werkelijk alles geprobeerd.

Hoe doe ik dit?
Na MATCH en AGAINST mag je geen spatie hebben van MySQL.
Hier zit t probleem niet in, heb ook al andere querys gebruikt.
Ik denk dat het probleem zit in mysql, dat de kolom niet FULL TEXT is.

Maar, hoe kan ik dit aanpassen in phpmyadmin?
ALTER TABLE tabelnaam
ADD FULLTEXT naam_van_de_index
(
veldnaam1,
veldnaam2
)
wat is 'naam_van_de_index'?
Elke naam die je er aan wilt geven, dat mag je zelf invullen.
Heel goed, ben er uit nu.

<?php

require "connect.php";

if(!empty($_POST)){

$search = $_POST['search'];
$srch="%".$search."%";
$sql = "SELECT * FROM recrea_verkoop WHERE MATCH(adres,plaats)AGAINST('$search') ORDER BY id DESC";

$res = mysql_query($sql);

if (mysql_num_rows($res)) {

while ($row = mysql_fetch_array($res)) {

echo "blablabla...;

}
} else {
echo "niets in bestand";
}
}
?>

Met in phpmyadmin:
<?
ALTER TABLE recrea_verkoop
ADD FULLTEXT search
(
adres,
plaats
)
?>


Dank!
Ik heb deze methode ook gebruikt, echter zoekt het script nu niet op losse woorden maar op de gehele inhoud van de tabel. Weet iemand hier een oplossing voor?

Reageren