Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource
ik ben bezig met een wachtwoord vergetenschript het script werkt
maar ik krijg nu deze foutmelding:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/a7262893/public_html/accounts/wachtwoordvergeten.php on line 268
weet iemand wat er fout is aan dit script:
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
include_once 'connect.php';
if ( 'POST' == $_SERVER['REQUEST_METHOD'] )
{
$voornaam = mysql_real_escape_string($_POST['voornaam']);
$emailadres = mysql_real_escape_string($_POST['email']);
$check = mysql_query("SELECT * FROM users WHERE voornaam = '$voornaam' AND emailadres = '$emailadres'");
if (mysql_num_rows($check) == 1)
{
// Gebruiker bestaat, wachtwoord aanmaken en mailen
$newpass = ranpass(); // Wachtwoord aanmaken
$insertpass = sha1($newpass);
mysql_query("UPDATE users SET password = '$insertpass' WHERE emailadres = '$emailadres'");
echo "<p>We hebben een nieuw wachtwoord voor je ingesteld. Deze is per email naar je verzonden.</p>";
$mssg = "We hebben een nieuw wachtwoord voor je ingesteld.\n Wachtwoord : $newpass \n\n Met vriendelijke groeten, \n het flowerteam \n $siteurl";
mail($emailadres, "U flower wachtwoord vergeten", $mssg, "From: $sitenaam<$sitemail>");
}
else
{
echo "<p>Voornaam/Emailadres combinatie komt niet overeen. We konden je daarom geen nieuw wachtwoord sturen.</p>";
}
}
else
{
} ?>
include_once 'connect.php';
if ( 'POST' == $_SERVER['REQUEST_METHOD'] )
{
$voornaam = mysql_real_escape_string($_POST['voornaam']);
$emailadres = mysql_real_escape_string($_POST['email']);
$check = mysql_query("SELECT * FROM users WHERE voornaam = '$voornaam' AND emailadres = '$emailadres'");
if (mysql_num_rows($check) == 1)
{
// Gebruiker bestaat, wachtwoord aanmaken en mailen
$newpass = ranpass(); // Wachtwoord aanmaken
$insertpass = sha1($newpass);
mysql_query("UPDATE users SET password = '$insertpass' WHERE emailadres = '$emailadres'");
echo "<p>We hebben een nieuw wachtwoord voor je ingesteld. Deze is per email naar je verzonden.</p>";
$mssg = "We hebben een nieuw wachtwoord voor je ingesteld.\n Wachtwoord : $newpass \n\n Met vriendelijke groeten, \n het flowerteam \n $siteurl";
mail($emailadres, "U flower wachtwoord vergeten", $mssg, "From: $sitenaam<$sitemail>");
}
else
{
echo "<p>Voornaam/Emailadres combinatie komt niet overeen. We konden je daarom geen nieuw wachtwoord sturen.</p>";
}
}
else
{
} ?>
Deze vraag komt dan ook elke week een paar keer voor. Kijk eens in de search anders....
dit
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$check = mysql_query("
SELECT
*
FROM
users
WHERE
voornaam = '$voornaam'
AND
emailadres = '$emailadres'
");
?>
$check = mysql_query("
SELECT
*
FROM
users
WHERE
voornaam = '$voornaam'
AND
emailadres = '$emailadres'
");
?>
moet zijn
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$check = mysql_query("
SELECT
*
FROM
users
WHERE
voornaam = '".$voornaam."'
AND
emailadres = '".$emailadres."'
");
?>
$check = mysql_query("
SELECT
*
FROM
users
WHERE
voornaam = '".$voornaam."'
AND
emailadres = '".$emailadres."'
");
?>
Zie je hoe de kleuren veranderen?
Toevoeging op 11/03/2013 16:43:37:
Je moet overigens je andere query ook nog aanpassen, probeer die eens zelf, kijken of je die zelf kan.
Gewijzigd op 11/03/2013 16:42:54 door Albert de Wit
zo ziet het er nu uit:
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
38
39
40
41
42
43
44
45
46
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
38
39
40
41
42
43
44
45
46
<?php
include_once 'connect.php';
if ( 'POST' == $_SERVER['REQUEST_METHOD'] )
{
$voornaam = mysql_real_escape_string($_POST['voornaam']);
$emailadres = mysql_real_escape_string($_POST['email']);
$check = mysql_query("
SELECT
*
FROM
users
WHERE
voornaam = '".$voornaam."'
AND
emailadres = '".$emailadres."'
");
if (mysql_num_rows($check) == 1)
{
// Gebruiker bestaat, wachtwoord aanmaken en mailen
$newpass = ranpass(); // Wachtwoord aanmaken
$insertpass = sha1($newpass);
mysql_query("UPDATE users SET password = '$insertpass' WHERE emailadres = '$emailadres'");
echo "<p>We hebben een nieuw wachtwoord voor je ingesteld. Deze is per email naar je verzonden.</p>";
$mssg = "We hebben een nieuw wachtwoord voor je ingesteld.\n Wachtwoord : $newpass \n\n Met vriendelijke groeten, \n het flowerteam \n $siteurl";
mail($emailadres, "U flower wachtwoord vergeten", $mssg, "From: $sitenaam<$sitemail>");
}
else
{
echo "<p>Voornaam/Emailadres combinatie komt niet overeen. We konden je daarom geen nieuw wachtwoord sturen.</p>";
}
}
else
{
} ?>
include_once 'connect.php';
if ( 'POST' == $_SERVER['REQUEST_METHOD'] )
{
$voornaam = mysql_real_escape_string($_POST['voornaam']);
$emailadres = mysql_real_escape_string($_POST['email']);
$check = mysql_query("
SELECT
*
FROM
users
WHERE
voornaam = '".$voornaam."'
AND
emailadres = '".$emailadres."'
");
if (mysql_num_rows($check) == 1)
{
// Gebruiker bestaat, wachtwoord aanmaken en mailen
$newpass = ranpass(); // Wachtwoord aanmaken
$insertpass = sha1($newpass);
mysql_query("UPDATE users SET password = '$insertpass' WHERE emailadres = '$emailadres'");
echo "<p>We hebben een nieuw wachtwoord voor je ingesteld. Deze is per email naar je verzonden.</p>";
$mssg = "We hebben een nieuw wachtwoord voor je ingesteld.\n Wachtwoord : $newpass \n\n Met vriendelijke groeten, \n het flowerteam \n $siteurl";
mail($emailadres, "U flower wachtwoord vergeten", $mssg, "From: $sitenaam<$sitemail>");
}
else
{
echo "<p>Voornaam/Emailadres combinatie komt niet overeen. We konden je daarom geen nieuw wachtwoord sturen.</p>";
}
}
else
{
} ?>
het probleem is ik krijg nogsteeds de zelfde fout melding
http://www.phphulp.nl/php/tutorial/data-verwerking/foutafhandeling-query-sql/735/
Er is nog geen foutafhandeling....
wat voor foutmeldingen moet ik erin zetten dan?
Lol, de server genereert foutmeldingen, en de scriptsbeheerder moet 't dan oplossen ;-)
Albert de Wit op 11/03/2013 16:41:31:
Toevoeging op 11/03/2013 16:43:37:
Je moet overigens je andere query ook nog aanpassen, probeer die eens zelf, kijken of je die zelf kan.
Je moet overigens je andere query ook nog aanpassen, probeer die eens zelf, kijken of je die zelf kan.
Albert de Wit op 11/03/2013 16:41:31:
Je geen nu alleen maar een string als input in je query, geen variabelen.
Niet waar wat je zegt. Het feit dat de "kleurtjes niet veranderen" wil niet zeggen dat PHP geen variable expansion doet. Het enige wat het zegt, is dat je geen fatsoenlijke editor gebruikt.
Willem vp op 11/03/2013 21:21:30:
Niet waar wat je zegt. Het feit dat de "kleurtjes niet veranderen" wil niet zeggen dat PHP geen variable expansion doet. Het enige wat het zegt, is dat je geen fatsoenlijke editor gebruikt.
Albert de Wit op 11/03/2013 16:41:31:
Je geen nu alleen maar een string als input in je query, geen variabelen.
Niet waar wat je zegt. Het feit dat de "kleurtjes niet veranderen" wil niet zeggen dat PHP geen variable expansion doet. Het enige wat het zegt, is dat je geen fatsoenlijke editor gebruikt.
Kijk naar lijn 24 en zeg mij dat dat variabelen zijn die php doorgeeft aan mysql...
Ja Albert, het staat binnen dubbele quotes!
Echo je query eens en kopieer die en voer die eens uit in phpmyadmin.
Albert de Wit op 11/03/2013 22:13:42:
Ugh, is niet echt leesbaar.
Echo je query eens en kopieer die en voer die eens uit in phpmyadmin.
Echo je query eens en kopieer die en voer die eens uit in phpmyadmin.
Die query is prima te lezen. Kwestie van je eens verdiepen in de syntax van PHP...
Syntactisch is die query wel goed, het heeft helemaal geen nut om hem te echo'en. Wat wél nut heeft, is foutafhandeling. Ongetwijfeld zegt mysql_error() iets interessants nadat de mysql_query() is uitgevoerd...
Gewijzigd op 12/03/2013 00:29:20 door Willem vp
Aar heeft ook al gezegt de foutafhandeling aan te zetten. Ik heb sinds die post niets gezien van mysql_error() dus ga ervan uit dat de TS niet weet wat dat is. Dus als meneer die query uitvoert in phpmyadmin krijgt hij wel te zien wat hij fout doet.
Albert de Wit op 12/03/2013 09:55:28:
Dus als meneer die query uitvoert in phpmyadmin krijgt hij wel te zien wat hij fout doet.
Niet per se. Als (om maar een mogelijke oorzaak te noemen) het probleem in de connection parameters van het script zit, zal de query in PMA gewoon werken.