Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\XAMPP\xampp\htdocs\login\database.class.php on line 60

Wat zou de oorzaak hiervan kunnen zijn?
Ik snap niet echt wat er aan m'n code verkeerd zou zijn...

[edit]

Op de plaats van de error staat er gewoon:

function rows($opdracht)
{
return mysql_num_rows($opdracht);
}
RTFM!
PHP FAQ dus.

Foute SQL Query.
Voor zover ik weet betekend het dat je er in je select quey een fout zit.
Sebastiaan schreef op 02.04.2006 10:59
RTFM!
PHP FAQ dus.

Foute SQL Query.


Wat zijn we weer vriendelijk... :S
Is dit een forum of een boerengat?
Je mag echt wel wat zelf doen...
Kun je eens laten zien hoe $opdracht zijn waarde krijgt?
Let op xxxx kunnen verschilende opties zijn:
assoc, array, result, object enz...

Je sql query is niet geldig. Loop de query even na door:
mysql_query($sql) or die(mysql_error());

Dit weergeeft de foutmelding die MySQL op dat moment maakt.

$sql is dan uiteraard je query ($sql = "SELECT id FROM tabel"; bijvoorbeeld).

Wanneer je er nog niet uit komt, kun je je query echo-en:
echo "sql: " . $sql . "

";
?>

Zo heb je misschien een betere kijk op wat er allemaal gebeurt. Wat je ook kunt doen is de uitkomst van $sql eens te kopiëren en plakken in je phpmyadmin (of elk soort ander mysql database management programma). Daar kun je dan sneller andere variaties proberen.
PHP Freak schreef op 02.04.2006 11:01

Wat zijn we weer vriendelijk... :S
Is dit een forum of een boerengat?


Als het je niet bevalt ben je vrij om te vertrekken natuurlijk... We zijn te beroerd om tijd te investeren om mensen te helpen, maar als er vanuit jou geen tot weinig moeite komt dan houd het voor ons ook gewoon op.

De documentatie van php is vrij uitgebreid en daarbij kom jij met erg weinig/geen informatie dus totdat mijn glazen bol terug is kan ik niet eens helpen...

Ik werk vaak met zoiets:

<?php
$query = "SELECT * FROM gastenboek WHERE geverificeerd = 'Y'";
$resultaat = mysql_query($query);

if ($resultaat)
{
$aantal = mysql_num_rows($resultaat);
}else{
$aantal = 0;
}

if($aantal >= 1)
{
while($rij = mysql_fetch_array($resultaat))
{
}
}
?>
M'n query is dus:

$query = mysql_query("SELECT * FROM leden WHERE ip='".$_SERVER['REMOTE_ADDR']."'");

en dan roep ik dus de mysql_num_rows($query) aan...
Maar ik denk, zeg wel: denk, dat er hier niets mis mee is...
De FAQ vind ik in deze situatie niet echt geschikt (in andere situaties trouwens ook niet, maar dat is weer iets anders ;-)) En dan vergeet ik voor het gemak zelfs dat de in de FAQ genoemde functie mysql_fetch_result() niet bestaat...

Bij mysql_num_rows() kan het zijn dat je een goede query hebt, maar toch bovenstaande foutmelding krijgt. Denk aan bijvoorbeeld INSERT of UPDATE queries. In een dergelijke situatie heb je absoluut niets aan hetgeen in de FAQ wordt beschreven, aangezien de FAQ ervan uit gaat dat je query zelf fout is.

Het schermen met de FAQ vind ik in dit geval dus niet gepast...

Reageren