login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Login

Offline lasdesigner - 16/10/2005 18:58
Avatar van lasdesignerPHP beginner
  1. <?php
  2.  
  3. $query_login = mysql_query("SELECT * FROM werknemers WHERE gebruikersnaam=".$_POST['gebruikersnaam']." AND wachtwoord=".$_POST['wachtwoord']."");
  4. $aantal = mysql_result($query_login, 0);
  5.  
  6. while($r_login = mysql_fetch_assoc($query_login))
  7. {
  8. $rank = $r_login['rank'];
  9. }
  10. ?>


wat is hier fout aan?
Ik krijg deze foutmelding:

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in e:\server\wamp\www\php\werknemers\login.php on line 35

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in e:\server\wamp\www\php\werknemers\login.php on line 37
Fout; verkeerde gebruikersnaam en/of wachtwoord.
Klik hier om terug te keren

13 antwoorden

Gesponsorde links
Offline Gerard - 16/10/2005 19:02
Avatar van Gerard Ouwe rakker waarschijnlijk zijn gebruikersnaam/wachtwoord strings en geen integers. daarom moet je ze quoten met een enkele quote in de query.

  1. <?php
  2.  
  3. $query_login = mysql_query("SELECT * FROM werknemers WHERE gebruikersnaam='".$_POST['gebruikersnaam']."' AND wachtwoord='".$_POST['wachtwoord']."'");
  4.  
  5. ?>
Offline lasdesigner - 16/10/2005 19:07 (laatste wijziging 16/10/2005 19:11)
Avatar van lasdesigner PHP beginner hij logt nou wel in maar nu heb ik deze fout:

Warning: mysql_result(): supplied argument is not a valid MySQL result resource in e:\server\wamp\www\php\werknemers\login.php on line 34
  1. <?php
  2. $query_loginn = mysql_query("SELECT * FROM werknemers WHERE gebruikersnaam='".$_POST['gebruikersnaam']."' AND wachtwoord='".$_POST['wachtwoord']."'");
  3. $query_login = "SELECT * FROM werknemers WHERE gebruikersnaam='".$_POST['gebruikersnaam']."' AND wachtwoord='".$_POST['wachtwoord']."'";
  4. $aantal = mysql_result($query_login, 0);
  5.  
  6. while($r_login = mysql_fetch_assoc($query_loginn))
  7. {
  8. $rank = $r_login['rank'];
  9. }
  10.  
  11. if($aantal == 0)
  12.  
  13.  
  14. ?>
Offline Gerard - 16/10/2005 19:14
Avatar van Gerard Ouwe rakker wat is regel 34?

en je kan hier beter gebruik maken van mysql_num_rows ipv een nieuwe query uit te voeren waar je ook nog eens geen COUNT() uitvoert.
Offline lasdesigner - 16/10/2005 19:16
Avatar van lasdesigner PHP beginner deregel met $aantal;
COUNT?
Offline Gerard - 16/10/2005 19:34
Avatar van Gerard Ouwe rakker als ik je query zo eens overkijk snap ik niet eens wat je ermee wilt bereiken. het onderste if-statement kap je ook zomaar af zonder dat ik nu weet wat je wil.
Offline Rens - 16/10/2005 19:35
Avatar van Rens Gouden medaille

Crew algemeen
Gebruik error handling!

  1. $sQuery = mysql_query("query") or die(MySQL_Error());
Offline Ibrahim - 16/10/2005 19:43 (laatste wijziging 16/10/2005 19:43)
Avatar van Ibrahim PHP expert
  1. <?php
  2. $query_loginn = mysql_query("SELECT * FROM werknemers WHERE gebruikersnaam='".$_POST['gebruikersnaam']."' AND wachtwoord='".$_POST['wachtwoord']."'");
  3. $query_login = "SELECT * FROM werknemers WHERE gebruikersnaam='".$_POST['gebruikersnaam']."' AND wachtwoord='".$_POST['wachtwoord']."'";
  4. $aantal = mysql_result($query_login, 0);
  5. ?>


veranderen in:

  1. <?php
  2. $query = "SELECT * FROM werknemers WHERE gebruikersnaam='".$_POST['gebruikersnaam']."' AND wachtwoord='".$_POST['wachtwoord']."'";
  3. $query_login=mysql_query($query) or die(mysql_error());
  4. $aantal = mysql_result($query_login, 0);
  5. ?>
Offline cracker - 16/10/2005 19:46
Avatar van cracker Onbekend
Citaat:
while($r_login = mysql_fetch_assoc($query_login))
{
$rank = $r_login['rank'];
}

Als er slechts 1 resultaat kan zijn...
waarom gebruik je dan een while-lus ?
Offline Rens - 16/10/2005 19:47
Avatar van Rens Gouden medaille

Crew algemeen
Dat maakt niet zoveel uit, misschien kende hij MySQL_Result() nog niet en dacht dus dat het met een while loop moest gebeuren...
Offline Gerard - 16/10/2005 20:05 (laatste wijziging 16/10/2005 20:05)
Avatar van Gerard Ouwe rakker hij noemde zijn var aantal en gebruikte mysql_result met een tweede query welke identiek is aan de eerste. hij wilde dus gewoon bij die tweede er een COUNT query van maken maar dat mislukte.
Offline ikkedikke - 17/10/2005 11:33 (laatste wijziging 17/10/2005 11:35)
Avatar van ikkedikke PHP expert die query moet zijn: SELECT COUNT(1), * FROM ....
anders heeft dat "aantal" gewoon de eerste kolom van de database...
EDIT: je moet trouwens 2 query's uitvoeren, een functie als "COUNT()" of SUM() kan niet met gewone kolommen uit een tabel...
Offline xSc - 18/10/2005 10:21
Avatar van xSc Onbekend @Proximus, let op MySQL injection! Gebruik de functie addslashes() om de $_POST[''] heen!

@Rensjuh, gebruik liever errorhandling m.b.v. if/else dan met or die()!
Offline Rens - 18/10/2005 15:41
Avatar van Rens Gouden medaille

Crew algemeen
Citaat:
@Rensjuh, gebruik liever errorhandling m.b.v. if/else dan met or die()!


Gebruik ik normaal ook...
Word het alleen zo moe om dat bij elk topic te typen waar ze een MySQL error hebben:'(
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2026 Sitemasters.be - Regels - Laadtijd: 0.247s