Door
Onbekend Onbekend
op 31-10-2012 21:48
gewijzigd op 31-10-2012 21:48
1.303 views
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;
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 ()!