Beste forum gebruiker's,

Ik zit met een probleem, ik had er graag hulp bij!
Deze error komt elke keer opdagen: Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in **** on line 30


// Controleren gegevens

$que = ("SELECT * FROM leden WHERE ema = '$ema' AND pas = '$pas'"); // Dit is line 30

$res = mysql_query($res);

if (mysql_num_rows($res) == 0) {


// Gegevens niet correct

echo "Uw gegevens zijn incorrect. Ga <a href='login.php'>terug</a> en probeer het opnieuw.";
exit;



Bij voorbaat dank
Problemen met quotes en $res = mysql_query($res) 2e $res is fout, moet zijn $que

<?php
$que = ('SELECT * FROM leden WHERE ema = '.$ema.' AND pas = '.$pas.')';
$res = mysql_query($que);
if (mysql_num_rows($res) == 0) { 
?>
Waar komen $ema en $pas vandaan? En waar is je foutafhandeling? Je wilt natuurlijk altijd controleren of je query wel of niet gelukt is.
Als je code tags om je code zet ziet het er beter uit. (blokhaak, code, blokhaak sluiten.) Zet er ook meteen de php open- en sluit tags bij.
Ik zie: "$res = mysql_query($res)", maar ik denk dat je bedoelt "$res = mysql_query($que)".
Je query gaat dus fout, want mysql_num_rows() verwacht een resource die hij krijgt wanneer je query goed is gelukt. Echter gaat hij 'ergens' niet goed, en krijg je een boolean (false) terug waar mysql_num_rows() niets mee kan. Dus vandaar je error.

Net wat Aar vraagt, waar komen je $ema en $pas vandaan? Geef je die mee met $_POST, $_GET worden ze goed gedeclareerd aan $ema en $pas? Ook wordt er nergens iets gedaan wanneer $ema en $pas niet voorkomen in je Db endus een false terug geeft.

Dus om te kijken of een 'account' bestaat in je database gebruik je niet mysql_num_rows() == 0, tevens heb je de () in je $que staan, dit moet niet. Dat moet zijn zoals hieronder.

$que = "SELECT * FROM leden WHERE ema = '$ema' AND pas = '$pas'";

Je hoeft alleen de () te gebruiken als je gelijk de query draait. Zoals hieronder

$que = mysql_query ("SELECT * FROM leden WHERE ema = '$ema' AND pas = '$pas'");

Maak eerst je syntax dus eens in orde, en kijk of je twee variabelen wel de gegevens bevatten die je verwacht door ze simpelweg te echo'en.

En uiteraard wat al is aangegeven is het niet $res = mysql_query($res); maar $res = mysql_query($que); en dan wel een string zonder de ()!



Velen hier hebben een vraag en probleem over PHP, dus het zou wel fijn zijn als je een beter dekkende topictitel kan verzinnen voor je topic.

Alvast bedankt

Reageren