mysql_num_rows error
Hee allemaal,
Ik krijg een mysql_num_rows error.
De error is als volgt:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/wvuxmqrk/domains/*****/public_html/index.php on line 46
Gebruikersnaam en wachtwoord kwamen niet overeen!
Iemand enig idee wat ik fout doe?
Ik kan jammer genoeg de eerdere topics over mysql_num_rows niet meer terugvinden.. :(
GreetzZzZzZz,,
Victor
Ik krijg een mysql_num_rows error.
De error is als volgt:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/wvuxmqrk/domains/*****/public_html/index.php on line 46
Gebruikersnaam en wachtwoord kwamen niet overeen!
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
if(isset($_POST['gb']) || isset($_POST['ww']))
{
echo 'U heeft niks ingevuld!';
echo '<meta http-equiv="refresh" content="5;URL=index" />';
}
else
{
$query = "SELECT ('gebruikersnaam', 'wachtwoord') FROM leden WHERE
gebruikersnaam='".mysql_real_escape_string($_POST['gebruikersnaam'])."',
wachtwoord='".mysql_real_escape_string($_POST['wachtwoord'])."'";
$uitvoeren = mysql_query($query);
if(mysql_num_rows($uitvoeren) == 0){ //Lijn 46
echo 'Gebruikersnaam en wachtwoord kwamen niet overeen!';
echo '<meta http-equiv="refresh" content="5;URL=index" />';
}
}
}
else
{
echo '<form action="" method="POST">
<input type="text" style="background-image:url(images/input.png); width: 154px; height: 19px; border: solid 0px #FFF;" maxlength="20" value="gebruikersnaam" name="gebruikersnaam">
<br />
<input type="text" style="background-image:url(images/input.png); width: 154px; height: 19px; border: solid 0px #FFF;" maxlength="20" value="wachtwoord" name="wachtwoord">
<div id="button">
<input type="image" src="images/go.png" value="About submit buttons" alt="[Submit]" name="submit">
</form>';
}
?>
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
if(isset($_POST['gb']) || isset($_POST['ww']))
{
echo 'U heeft niks ingevuld!';
echo '<meta http-equiv="refresh" content="5;URL=index" />';
}
else
{
$query = "SELECT ('gebruikersnaam', 'wachtwoord') FROM leden WHERE
gebruikersnaam='".mysql_real_escape_string($_POST['gebruikersnaam'])."',
wachtwoord='".mysql_real_escape_string($_POST['wachtwoord'])."'";
$uitvoeren = mysql_query($query);
if(mysql_num_rows($uitvoeren) == 0){ //Lijn 46
echo 'Gebruikersnaam en wachtwoord kwamen niet overeen!';
echo '<meta http-equiv="refresh" content="5;URL=index" />';
}
}
}
else
{
echo '<form action="" method="POST">
<input type="text" style="background-image:url(images/input.png); width: 154px; height: 19px; border: solid 0px #FFF;" maxlength="20" value="gebruikersnaam" name="gebruikersnaam">
<br />
<input type="text" style="background-image:url(images/input.png); width: 154px; height: 19px; border: solid 0px #FFF;" maxlength="20" value="wachtwoord" name="wachtwoord">
<div id="button">
<input type="image" src="images/go.png" value="About submit buttons" alt="[Submit]" name="submit">
</form>';
}
?>
Iemand enig idee wat ik fout doe?
Ik kan jammer genoeg de eerdere topics over mysql_num_rows niet meer terugvinden.. :(
GreetzZzZzZz,,
Victor
Gewijzigd op 13/09/2010 11:20:07 door Erik Rijk
Gesponsorde koppelingen:
Je hoeft geen haakjes te gebruiken in je query.
Dit is geen goeie controle he.. Zijn alle velden verplicht? dan:
Je hebt in je query 2 WHERE statement, maar scheid ze door een [komma], gebruik: AND
Test je query in phpMyAdmin ( geeft vaak duidelijke fouten en gebruik zelf ( tijdens het testen ) mysql_error. Als er een fout optreed, geeft deze functie die terug
Code (php)
1
2
3
4
5
2
3
4
5
if(isset($_POST['gb']) || isset($_POST['ww']))
{
echo 'U heeft niks ingevuld!';
echo '<meta http-equiv="refresh" content="5;URL=index" />';
}
{
echo 'U heeft niks ingevuld!';
echo '<meta http-equiv="refresh" content="5;URL=index" />';
}
Dit is geen goeie controle he.. Zijn alle velden verplicht? dan:
Code (php)
Je hebt in je query 2 WHERE statement, maar scheid ze door een [komma], gebruik: AND
Test je query in phpMyAdmin ( geeft vaak duidelijke fouten en gebruik zelf ( tijdens het testen ) mysql_error. Als er een fout optreed, geeft deze functie die terug
Gewijzigd op 05/08/2010 19:27:57 door Erik Rijk
En hoe vaak moet er nu nog geschreven worden dat:
1. je een password niet plain opslaat
2. dat je mysql foutafhanding moet inbouwen (dan had je ons de foutmelding kunnen geven)
3. dat je eerst moet zoeken hoe je een SELECT statement inelkaar flanst, alvorens ook maar aan te komen met ene topic
4. dat dit
de grootsmogelijke onzin is
zie http://www.php.net/isset waarom dat dan zo is
5. dat je overzichtelijker moet programeren
6. dat het voorbeeld wat Erik geeft niet goed is i.v.m. dhet gebruik van de functie empty.
Zie http:/www.php.net/empty om te lezen waarom dat dan zo is
7. dat je in phpmyadmin je queries niet dient te testen gezien het feit je niet weet wat phpmyadmin op de achtergrond allemaal aan jouw query verneukt
1. je een password niet plain opslaat
2. dat je mysql foutafhanding moet inbouwen (dan had je ons de foutmelding kunnen geven)
3. dat je eerst moet zoeken hoe je een SELECT statement inelkaar flanst, alvorens ook maar aan te komen met ene topic
4. dat dit
Code (php)
de grootsmogelijke onzin is
zie http://www.php.net/isset waarom dat dan zo is
5. dat je overzichtelijker moet programeren
6. dat het voorbeeld wat Erik geeft niet goed is i.v.m. dhet gebruik van de functie empty.
Zie http:/www.php.net/empty om te lezen waarom dat dan zo is
7. dat je in phpmyadmin je queries niet dient te testen gezien het feit je niet weet wat phpmyadmin op de achtergrond allemaal aan jouw query verneukt
Gewijzigd op 05/08/2010 19:33:33 door Noppes Homeland
Ik wéét dat er géén goede beveiliging in zit.
Foutafhandeling is even niet in me opgekomen, omdat ik nu net or die heb afgeleerd.
Ik zal eens naar al jullie punten kijken :)
-Edit-
En ik heb het script helemaal omgegooid toen ik probeerde de fout te vinden.
Zoals isset ;-)
-Edit2-
Hier zit ook nog een script omheen.
De error reporting staat helemaal bovenaan (onder session_start();)
-Edit3-
Wachtwoord is bewust plain opgeslagen.
Ik wil daarvoor de best mogelijke beveiliging maken, dus wou ik dat als laatste doen.
-Edit4-
My bad, ik dacht er even niet bij na toen ik dit topic aanmaakte.
Het ging me even om het inloggen en heb de beveiliging achter wegen gelaten.
Iets dat hier dus naar voren komt.
Foutafhandeling is even niet in me opgekomen, omdat ik nu net or die heb afgeleerd.
Ik zal eens naar al jullie punten kijken :)
-Edit-
En ik heb het script helemaal omgegooid toen ik probeerde de fout te vinden.
Zoals isset ;-)
-Edit2-
Hier zit ook nog een script omheen.
De error reporting staat helemaal bovenaan (onder session_start();)
-Edit3-
Wachtwoord is bewust plain opgeslagen.
Ik wil daarvoor de best mogelijke beveiliging maken, dus wou ik dat als laatste doen.
-Edit4-
My bad, ik dacht er even niet bij na toen ik dit topic aanmaakte.
Het ging me even om het inloggen en heb de beveiliging achter wegen gelaten.
Iets dat hier dus naar voren komt.
Gewijzigd op 05/08/2010 20:06:57 door Victor Php
Victor Php op 05/08/2010 19:54:08:
Foutafhandeling is even niet in me opgekomen, omdat ik nu net or die heb afgeleerd.
Daar begin je juist mee om dit soort vage foutmeldingen te voorkomen en juist heldere meldingen te krijgen.
Victor Php op 05/08/2010 19:54:08:
Ik wil daarvoor de best mogelijke beveiliging maken, dus wou ik dat als laatste doen.
Beveiliging doe je als tweede en nooit als laatste.
Verder zijn deze haakjes overbodig;
SELECT ('gebruikersnaam', 'wachtwoord') FROM ........
En wat er achter de FROM staat maakt niet uit omdat je hier twee keer een tekst achter SELECT hebt staan, dus dat zal er ook gevonden worden. Het resultaat van deze query is dus de tekst 'gebruikersnaam' en de tekst 'wachtwoord'.
@SanThe Nvt
Bedankt voor je reactie.
Ik zal er voortaan rekening mee houden. :)
-Edit-
Overnieuw begonnen aan systeem en ga nu alles netjes houden ;D
Bedankt voor je reactie.
Ik zal er voortaan rekening mee houden. :)
-Edit-
Overnieuw begonnen aan systeem en ga nu alles netjes houden ;D
Gewijzigd op 05/08/2010 20:15:12 door Victor Php



