Help

Discussion in 'MySQL' started by Pudge1, Sep 27, 2009.

  1. #1
    
    
    2:49:17 PM
    mysql_connect('localhost',$user,$pass);
    mysql_select_db($dbname);
    $var = 'SELECT Username FROM Users WHERE Username=$username AND Password=$password';
    
    if(!$var)
    {
    return FALSE;
    }
    else
    {
    return TRUE;
    }
    
    mysql_close();
    }
    
    Code (markup):
    What does that always return TRUE?
     
    Pudge1, Sep 27, 2009 IP
  2. ignas2526

    ignas2526 Peon

    Messages:
    75
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #2
    Because $var is a filled string, you forgot to execute it, mysql_query.
    Sometimes happens to me then i code 6-7 hours ^^
    don't forget to validate user input.
     
    ignas2526, Sep 27, 2009 IP
  3. Traffic-Bug

    Traffic-Bug Active Member

    Messages:
    1,866
    Likes Received:
    8
    Best Answers:
    0
    Trophy Points:
    80
    #3
    You could compress and optimize the code by weeding out unnecessary or unneeded steps. simply return

    return $var.
     
    Traffic-Bug, Sep 27, 2009 IP
  4. ignas2526

    ignas2526 Peon

    Messages:
    75
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #4
    @Traffic-Bug: This will not work very well because you can't check SELECT query on true or false, because value which contains query will be equal to something like this: "Resource id #101".
    You need to use mysql_num_rows to determine true or false.
     
    ignas2526, Sep 27, 2009 IP