[MySQL] Geeft foutmelding weer
Ik krijg steeds de volgende foutmelding:
"Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\wamp\www\paginas\handlers\handle_login.php on line 40"
Iemand enig idee hoe dat komt ?
Ik word helemaal gek! ik zit hier nu zo'n 2 1/2 dag mee bezig. en ik heb zowat alles geprobeerd.
Heeft iemand enig idee wat de fout is ?
//My SQL en database gegevens.
$dbc = mysql_connect('localhost', 'root', '******');
mysql_select_db('knorfski', $dbc);
$query1 = "SELECT * FROM login WHERE username = $gebruikersnaam";
$result = MySQL_query(query1, $dbc);
($row = mysql_fetch_array($result));
print($row['username']);
print($row['password']);
print($row['login_id']);
Mysql_close();
"Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\wamp\www\paginas\handlers\handle_login.php on line 40"
Iemand enig idee hoe dat komt ?
Ik word helemaal gek! ik zit hier nu zo'n 2 1/2 dag mee bezig. en ik heb zowat alles geprobeerd.
Heeft iemand enig idee wat de fout is ?
//My SQL en database gegevens.
$dbc = mysql_connect('localhost', 'root', '******');
mysql_select_db('knorfski', $dbc);
$query1 = "SELECT * FROM login WHERE username = $gebruikersnaam";
$result = MySQL_query(query1, $dbc);
($row = mysql_fetch_array($result));
print($row['username']);
print($row['password']);
print($row['login_id']);
Mysql_close();
Gewijzigd op 14/11/2005 11:40:00 door Knorfski
ipv print kan je beter echo gebruiker
dat is sneller
bestaat de tabel login?
$query1 = "SELECT * FROM login WHERE username = '".$gebruikersnaam."'";
dat is sneller
bestaat de tabel login?
$query1 = "SELECT * FROM login WHERE username = '".$gebruikersnaam."'";
Bedankt voor de snelle reactie,
http://www.knorfski.nl.eu.org/overige/phpmyadmin_1.jpg
In de url kan je zien dat de tabel login bestaat.
Ik heb ook de query regel vervangen door die jij geeft, en helaas nogsteeds hetzelfde resultaat...
http://www.knorfski.nl.eu.org/overige/phpmyadmin_1.jpg
In de url kan je zien dat de tabel login bestaat.
Ik heb ook de query regel vervangen door die jij geeft, en helaas nogsteeds hetzelfde resultaat...
post je formulier hier ook eens
Mijn forumulier:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<style type="text/css">
<!--
#Layer1 {
position:relative;
width:178px;
height:108px;
z-index:1;
left: 412px;
top: 18px;
}
.style5 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
}
.style7 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; }
.style8 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
}
-->
</style>
</head>
<body>
<div align="center"><span class="style7"> Vul de velden in om in te loggen. </span></div>
<div align="center"><br />
<table width="200" border="1">
<tr>
<td><div align="center" class="style8">
<form id="form1" name="form1" method="post" action="handlers/handle_login.php">
Gebruikersnaam:
<input type="text" name="gebruikersnaam" />
Wachtwoord:
<input type="text" name="wachtwoord" />
<br />
<br />
<input type="submit" name="Submit" value="Log in!" />
</form>
</div></td>
</tr>
</table>
<br />
<br />
</div>
<div align="center" class="style5"><a href="lostpass.php">Wachtwoord vergeten</a> / <a href="register.php">Registeren</a></div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
<style type="text/css">
<!--
#Layer1 {
position:relative;
width:178px;
height:108px;
z-index:1;
left: 412px;
top: 18px;
}
.style5 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 10px;
}
.style7 {font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; }
.style8 {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
}
-->
</style>
</head>
<body>
<div align="center"><span class="style7"> Vul de velden in om in te loggen. </span></div>
<div align="center"><br />
<table width="200" border="1">
<tr>
<td><div align="center" class="style8">
<form id="form1" name="form1" method="post" action="handlers/handle_login.php">
Gebruikersnaam:
<input type="text" name="gebruikersnaam" />
Wachtwoord:
<input type="text" name="wachtwoord" />
<br />
<br />
<input type="submit" name="Submit" value="Log in!" />
</form>
</div></td>
</tr>
</table>
<br />
<br />
</div>
<div align="center" class="style5"><a href="lostpass.php">Wachtwoord vergeten</a> / <a href="register.php">Registeren</a></div>
</body>
</html>
doe eens:
$query1 = "SELECT * FROM login WHERE username = '".$_POST['gebruikersnaam']."'";
$query1 = "SELECT * FROM login WHERE username = '".$_POST['gebruikersnaam']."'";
Hallo Erik,
Helaas nog precies hetzelfde,
www.knorfski.nl.eu.org
en dan login:
gebruikersnaam: TEST
wachtwoord: TEST
En dan krijg je weer precies dezelfde vervelende foutmelding!
Helaas nog precies hetzelfde,
www.knorfski.nl.eu.org
en dan login:
gebruikersnaam: TEST
wachtwoord: TEST
En dan krijg je weer precies dezelfde vervelende foutmelding!
Het is heel simpel
De naam test bestaat gewoon niet!
De naam test bestaat gewoon niet!
Doe dit
$row = mysql_fetch_array($result);
ipv
($row = mysql_fetch_array($result));
Anders kan je een foutmelding van mysql genereren door
$query1 = "SELECT * FROM login WHERE username = $gebruikersnaam";
$result = MySQL_query(query1, $dbc) or die(mysql_error());
$row = mysql_fetch_array($result);
ipv
($row = mysql_fetch_array($result));
Anders kan je een foutmelding van mysql genereren door
$query1 = "SELECT * FROM login WHERE username = $gebruikersnaam";
$result = MySQL_query(query1, $dbc) or die(mysql_error());
Verder vind ik het vreemd dat je alleen controleert op de loginnaam en niet op wachtwoord.
Je hebt wel een invoervak met wachtwoord, maar in de query zie ik niet dat je ook op wachtwoord controleert.
Is hier een speciale reden voor?
Je hebt wel een invoervak met wachtwoord, maar in de query zie ik niet dat je ook op wachtwoord controleert.
Is hier een speciale reden voor?
Hallo Barman,
Bedankt voor je reactie,
Het script is nog niet klaar.
Maar ik wou het als volgd doen:
Eerst zoeken op gebruikersnaam, dan kijken als het wachtwoord klopte, maar ik test altijd tussendoor even mijn scripts, en dus wou ik eerst deze fout er graag uit hebben voordat ik verder ga.
Bedankt voor je reactie,
Het script is nog niet klaar.
Maar ik wou het als volgd doen:
Eerst zoeken op gebruikersnaam, dan kijken als het wachtwoord klopte, maar ik test altijd tussendoor even mijn scripts, en dus wou ik eerst deze fout er graag uit hebben voordat ik verder ga.
Ten derde! Maak je echt connectie naar MySQL met de user root? Je kan beter een databasegebruiker aanmaken die beperkte rechten heeft. Root heeft alle rechten, waaronder flushen, privileges instellen, drop database, enz.
Qua veiligheid is dat dus niet de beste optie.
Qua veiligheid is dat dus niet de beste optie.
Ik krijg nu de melding:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'query1' at line 1
@Han, de gebruikersnaam en wachtwoord bestaan dus wel: http://www.knorfski.nl.eu.org/overige/phpmyadmin_2.jpg
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'query1' at line 1
@Han, de gebruikersnaam en wachtwoord bestaan dus wel: http://www.knorfski.nl.eu.org/overige/phpmyadmin_2.jpg
Hallo Barman,
Daar was ik ook van op hoogte :)
Maar ik ben de site eerst nog even aan het ontwikkelen. Die zaken pak ik later even aan.
Maar als ik het met root doe dan weet ik even zeker als het werkt.
Daar was ik ook van op hoogte :)
Maar ik ben de site eerst nog even aan het ontwikkelen. Die zaken pak ik later even aan.
Maar als ik het met root doe dan weet ik even zeker als het werkt.
En dit
$query1 = "SELECT * FROM login WHERE username = $gebruikersnaam";
$result = MySQL_query(query1, $dbc) or die('QUERY:<br>'.$query1.'<br><br>FOUT:<br>'.mysql_error());
Dus even de query echo'en
Misschien werkt dit
$query1 = "SELECT * FROM login WHERE username = '".$_POST['gebruikersnaam']."'";
Dus quotes gebruiken, want als gebruikersnaam een spatie bevat, krijg je een error, omdat hij dat niet meer als geheel woord ziet.
$query1 = "SELECT * FROM login WHERE username = $gebruikersnaam";
$result = MySQL_query(query1, $dbc) or die('QUERY:<br>'.$query1.'<br><br>FOUT:<br>'.mysql_error());
Dus even de query echo'en
Misschien werkt dit
$query1 = "SELECT * FROM login WHERE username = '".$_POST['gebruikersnaam']."'";
Dus quotes gebruiken, want als gebruikersnaam een spatie bevat, krijg je een error, omdat hij dat niet meer als geheel woord ziet.
Gewijzigd op 14/11/2005 10:30:00 door Barman V
Helaas,
QUERY:
SELECT * FROM login WHERE username = TEST
FOUT:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'query1' at line 1
Maar hij krijgt de username wel goed door.
Ik vind het nu helemaal vreemd.
QUERY:
SELECT * FROM login WHERE username = TEST
FOUT:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'query1' at line 1
Maar hij krijgt de username wel goed door.
Ik vind het nu helemaal vreemd.
Bestaat login wel?
Ja, ja, mensen. Het is slechts een klein typfoutje.
$result = MySQL_query(query1, $dbc);
Maak daar een $ bij en het wordt
$result = MySQL_query($query1, $dbc);
$result = MySQL_query(query1, $dbc);
Maak daar een $ bij en het wordt
$result = MySQL_query($query1, $dbc);
Hallo Han,
Uiteraard bestaat de login!
Uiteraard bestaat de login!
@Knorfski:
Twee tips:
1. $dbc = mysql_connect('localhost', 'root', '*****');
Zet nooit je password op Internet.
2. <input type="password" name="wachtwoord" />
Maak hier type password van zodat niemand kan meekijken.
Edit: Nog een typfoutje:
Standaard is met een d.
Processor: Pentium 3 600 Mhz Coppermine Core
Moederbord: Standaart moederbordje (Slot 1)
Geheugen: 265 MB SD-Ram Geheugen PC133
Grafische kaart: Onboard ATI RageXL 2X AGP 8MB
Netwerk kaart: Onboard 3Com 10/100Mbit
Voeding: Standaart
Behuizing: Standaart Compaq deskpro
Twee tips:
1. $dbc = mysql_connect('localhost', 'root', '*****');
Zet nooit je password op Internet.
2. <input type="password" name="wachtwoord" />
Maak hier type password van zodat niemand kan meekijken.
Edit: Nog een typfoutje:
Standaard is met een d.
Processor: Pentium 3 600 Mhz Coppermine Core
Moederbord: Standaart moederbordje (Slot 1)
Geheugen: 265 MB SD-Ram Geheugen PC133
Grafische kaart: Onboard ATI RageXL 2X AGP 8MB
Netwerk kaart: Onboard 3Com 10/100Mbit
Voeding: Standaart
Behuizing: Standaart Compaq deskpro
Gewijzigd op 14/11/2005 11:03:00 door - SanThe -
Bedankt!!
Kleine fouten, grote oorzaken!!
Ik wil jullie allemaal hartelijk bedankten voor jullie inzet ! :D
Edit:
Achtja, een dyslectiefout :P
Dank u,
Kleine fouten, grote oorzaken!!
Ik wil jullie allemaal hartelijk bedankten voor jullie inzet ! :D
Edit:
Achtja, een dyslectiefout :P
Dank u,
Gewijzigd op 14/11/2005 11:41:00 door Knorfski




