Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Christian k

christian k

11/03/2013 16:19:10
Quote Anchor link
hallo allemaal,

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)
PHP script in nieuw venster Selecteer het PHP script
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
<?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
{
    
    
}
?>
 
PHP hulp

PHP hulp

23/12/2024 13:51:14
 
- Ariën  -
Beheerder

- Ariën -

11/03/2013 16:28:25
Quote Anchor link
De foutafhandeling op je query mist.
Deze vraag komt dan ook elke week een paar keer voor. Kijk eens in de search anders....
 
Albert de Wit

Albert de Wit

11/03/2013 16:41:31
Quote Anchor link
Je geen nu alleen maar een string als input in je query, geen variabelen.

dit
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$check
= mysql_query("
SELECT
  *
FROM
  users
WHERE
  voornaam = '$voornaam'
    AND
  emailadres = '$emailadres'
"
);
?>


moet zijn
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$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
 
Christian k

christian k

11/03/2013 17:44:28
Quote Anchor link
oke ik heb het nu uitgetest.
zo ziet het er nu uit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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
{
    
    
}
?>


het probleem is ik krijg nogsteeds de zelfde fout melding
 
- Ariën  -
Beheerder

- Ariën -

11/03/2013 17:46:10
Quote Anchor link
Lees dit maar eens:
http://www.phphulp.nl/php/tutorial/data-verwerking/foutafhandeling-query-sql/735/

Er is nog geen foutafhandeling....
 
Christian k

christian k

11/03/2013 18:10:02
Quote Anchor link
wat voor foutmeldingen moet ik erin zetten dan?
 
- Ariën  -
Beheerder

- Ariën -

11/03/2013 18:23:59
Quote Anchor link
Lol, de server genereert foutmeldingen, en de scriptsbeheerder moet 't dan oplossen ;-)
 
Albert de Wit

Albert de Wit

11/03/2013 20:46:00
Quote Anchor link
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.
 
Willem vp

Willem vp

11/03/2013 21:21:30
Quote Anchor link
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.
 
Mebus  Hackintosh

Mebus Hackintosh

11/03/2013 21:24:57
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT COUNT(*) AS aantal FROM tabel
 
Albert de Wit

Albert de Wit

11/03/2013 22:00:21
Quote Anchor link
Willem vp op 11/03/2013 21:21:30:
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...
 
Erwin H

Erwin H

11/03/2013 22:03:55
Quote Anchor link
Ja Albert, het staat binnen dubbele quotes!
 
Albert de Wit

Albert de Wit

11/03/2013 22:13:42
Quote Anchor link
Ugh, is niet echt leesbaar.

Echo je query eens en kopieer die en voer die eens uit in phpmyadmin.
 
Willem vp

Willem vp

12/03/2013 00:28:15
Quote Anchor link
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.

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
 
Albert de Wit

Albert de Wit

12/03/2013 09:55:28
Quote Anchor link
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.
 
Willem vp

Willem vp

12/03/2013 11:07:39
Quote Anchor link
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.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.