PHP error : mysql_num_rows(): supplied argument is not valid

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Anoniem: 444367

Topicstarter
Hallo,
ik ben een vrij onervaren en jonge programmer: dus de fout kan banaal zijn en voor de hand liggen:
ik krijg de zeer merkwaardige error op dit script. Ik krijg ze niet op men localhost, maar wel eens gehost.
de error is
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/a1680392/public_html/logincheck.php on line 15
de code is:
code:
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<?php
include('connect.php');

if(isset($_POST['username']) && isset($_POST['password']))  {
    //variables are set

    $username= mysql_real_escape_string(htmlentities($_POST['username']));
    $password= mysql_real_escape_string(htmlentities($_POST['password']));
    
    if(strlen($username)!=0 && strlen($password)!=0)    {
        //strl is ok
        //get db info
        
        $query=mysql_query(" SELECT * FROM users WHERE username =  '$username'");
//volgende regel is regel 15
        $numrows=mysql_num_rows($query);
        
        if($numrows==1) {
            //user exists
            
            $row=mysql_fetch_array($query);
            $dbusername=$row['username'];
            $dbpassword=$row['password'];
            
            if($username==$dbusername&&$password==$dbpassword)  {
                //combination is correct
                
                $feedback="Logged in succesfully";
                session_start();
                $_SESSION['username']=$dbusername;
                $_SESSION['id']=$row['id'];
                
                //set online in db
                
                mysql_query(" UPDATE users SET online=1 WHERE username='$username' ");
                
                //redirect
                $feedback="click <a href='index.php'>here</a> to proceed";
                
                
            }   else {
                //incorrect combination
                $feedback="That combination is wrong. Please try again";
            }
        }   else    {
            //user doesn't exist
            $feedback="That combination is wrong. Please try again";
        }
    
    }   else    {
        //strl is zero
        $feedback="Please fill in all fields";
    }
}   else    {
    //variables aren't set
    die("An error has occured. Please try again later");

}
if($feedback==1){
//redirect
header('location:index.php');
}
echo "<h3 class='feedback'>".$feedback."</h3>";
?>

nogmaals, op localhost draait alles goed!
mvg

Acties:
  • 0 Henk 'm!

  • GlowMouse
  • Registratie: November 2002
  • Niet online
Kijk eens naar password hashing en daarna naar php.net/mysql_error

Acties:
  • 0 Henk 'm!

  • Strunkie
  • Registratie: Februari 2008
  • Laatst online: 21-10-2024

Strunkie

> Post is rechts!

Er zit een fout in je query.
Voer eens een echo mysql_error(); uit.
Gewoon even mysql_num_rows vervangen voor echo mysql_error();

[ Voor 32% gewijzigd door Strunkie op 01-11-2012 22:29 ]

^ Post is hierboven!


Acties:
  • 0 Henk 'm!

Anoniem: 444367

Topicstarter
die zegt 'No database selected', hoewel dat wel zo is in mijn connect.php

Acties:
  • 0 Henk 'm!

  • Strunkie
  • Registratie: Februari 2008
  • Laatst online: 21-10-2024

Strunkie

> Post is rechts!

Anoniem: 444367 schreef op donderdag 01 november 2012 @ 22:37:
die zegt 'No database selected', hoewel dat wel zo is in mijn connect.php
Post je connect eens?
Wachtwoorden enzo even weghalen...

^ Post is hierboven!


Acties:
  • 0 Henk 'm!

Anoniem: 444367

Topicstarter
niet meer nodig. Heb de fout hierin al gevonden. Een aanhalingsteken heeft mij een hoop moeite bezorgt.
Toch bedankt en sorry voor het vrij banale topic!

[ Voor 11% gewijzigd door Anoniem: 444367 op 01-11-2012 22:41 ]


Acties:
  • 0 Henk 'm!

  • Strunkie
  • Registratie: Februari 2008
  • Laatst online: 21-10-2024

Strunkie

> Post is rechts!

Anoniem: 444367 schreef op donderdag 01 november 2012 @ 22:40:
niet meer nodig. een aanhalingsteken heeft mij een hoop moeite bezorgt.
Toch bedankt en sorry voor het vrij banale topic!
Die moeite kan je besparen door een fatsoenlijke error reporting. mysql_error(); etc..

^ Post is hierboven!

Pagina: 1