Hallo ik hebt een groot probleem in mijn script krijgt ik iedere keer deze fout

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource

Wat kan ik hier tegen doen ik gebruik deze code

<?
include "include/config.php";
$sql = "SELECT * FROM categorie ORDER BY naam ASC";
$result = mysql_query($sql);

if (mysql_num_rows($result) != 0)
{
echo "<select name=\"categorie\" style=\"width: 300;\" onchange=\"openURL()\">\n";
echo " <option value=\"geen-url\""; If (!$Categorie) echo " selected"; echo " >Kies een categorie:</option>\n";
echo " <option value=\"geen-url\">----------------------------------------------------------------</option>\n";

While ($row = mysql_fetch_object($result))
{
echo " <option value=\"plaats.php?categorie=$row->naam\""; If ($row->categorie == $name) echo " selected"; echo ">$row->naam</option>\n";
}

echo "</select><br><br>\n";
}

?>

U kunt de fout ook op deze pagina vinden
www.i2web.nl/portfolio.php
Je hebt geen foutafhandeling in je script. Maak dat eerst eens. Dan komt de echte fout vanzelf boven water. (Query fout).

<?
include "include/config.php";

$query = mysql_query("SELECT * FROM categorie ORDER BY naam ASC");
$rij = mysql_fetch_assoc($query);

if (mysql_num_rows($rij) != 0)
 {
	echo "    <select name='categorie' style='width: 300;' onchange='openURL()'>\n";    
	echo "    <option value='geen-url'". if (!$Categorie) ."selected>Kies een categorie:</option>\n";    
	echo "    <option value='geen-url'>----------------------------------------------------------------</option>\n";

	While ($row = mysql_fetch_assoc($query))
	{        
    	echo "    <option value='plaats.php?categorie=$row->naam'". if ($row['categorie'] == $name) ." selected>$row->naam</option>\n";
    }

    echo "</select><br><br>\n";
} 
?> 


zo moet hij ongeveer goed zijn ;)
een if moet nooit met een hoofdletter,
ik heb mysql_fetch_assoc gebruikt omdat het iets sneller is maar het is het zelfde als mysql_fetch_object
Sorry Guardian, maar klopt geen reet van :)
$query is geen query meer, maar een result. Mysql_num_rows vereist een result, maar jij geeft een array mee.
Voor zover ik weet mag een if best met hoofdletter, en aangezien te TS geen error erover kreeg, vermoed ik gelijk te hebben.

Zoals SanThe al aangaf, errors afhandelen.
mysql_error();
Heb je geen idee wat errors afhandelen is of zijn dan gewoon even vragen.
TIP: Als je daadwerkelijk klanten wilt krijgen, let dan ook eens op het taalgebruik op je website.

Als ik een potentiƫle klant was geweest, had ik je site al meteen bij de homepage weggeklikt en in de blacklist van mijn firewall gezet.
Nu krijg ik op lijn 79 deze fout melding

Parse error: syntax error, unexpected T_IF in /home/kolk001/domains/i2web.nl/public_html/portfolio.php on line 79
En dat moeten wij dan uit ons hoofd oplossen? Stukje relevant script is daarbij vaak wel handig. (Relevant, dus niet je hele script. Regel 75 t/m 83 ofzo is genoeg).

Edit: Typo.
Zoek naar tikfouten in je script op de regel(s) net voor je if. Denk aan vergeten haakjes of puntkomma's.
<?
include "include/config.php";

$query = mysql_query("SELECT * FROM categorie ORDER BY naam ASC");
$rij = mysql_fetch_assoc($query);

if (mysql_num_rows($rij) != 0)
{
echo " <select name='categorie' style='width: 300;' onchange='openURL()'>\n";
echo " <option value='geen-url'". if (!$Categorie) ."selected>Kies een categorie:</option>\n";
echo " <option value='geen-url'>----------------------------------------------------------------</option>\n";

While ($rij = mysql_fetch_assoc($query))
{
echo " <option value='plaats.php?categorie=$rij->naam'". if ($row['categorie'] == $name) ." selected>$rij->naam</option>\n";
}

echo "</select><br><br>\n";
}
?>
Op regel 10 staat een if() middenin een echo. Dat kan niet.

Reageren