mysql_fetch_array(): supplied argument is not a valid MySQL

Discussion in 'Programming' started by thumati, Nov 14, 2012.

  1. #1
    Hai friends i am new from php please give suggestion from how slove this type of problems

    i upload attechment also


    Warning
    : mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\wamp\www\class\function.php on line 28

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\wamp\www\class\function.php on line 29



    ?php
    define('DB_SERVER', 'localhost');
    define('DB_USERNAME', 'root');
    define('DB_PASSWORD', '12345');
    define('DB_DATABASE', 'class');
    class db_class {
    
        function db_constractor() {
            $connection = mysql_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD) or die('Oops connection error -> '. mysql_error());
            mysql_select_db(DB_DATABASE, $connection) or die('Database error -> '. mysql_error());
        }
    
    }
    ?>
    
    
    PHP:


    Function.php code


    <?php
    include_once 'config.php';
    class user
    {
        public function db_constractor()
        {
            $db = new db_class();
        }
        public function register_user($name, $username, $password, $email)
        {
            $password = md5($passowrd);
            $sql = mysql_query("SELECT uid from users WHERE username ='$username' or email ='$email'");
            $no_rows = mysql_num_rows($sql);
            if($no_rows > 0) 
            {
                $result = mysql_query("INSERT INTO users(username, password, name, email) values('$username', '$password', '$name', 'email')") or die(mysql_error());
                return $result;
            }
            else
            {
                return FALSE;
            }
        }
                public function check_login($emailusername, $password)
                {
                    $password = md5($password);
                    $result = mysql_query("SELECT uid from users WHERE email = '$emailusername' or username = '$emailusername' and password = '$password'");
                    $user_data = mysql_fetch_array($result);
                    $no_rows = mysql_num_rows($result);
                    if($no_rows == 1)
                    {
                        $_SESSION['login'] = TRUE;
                        $_SESSION['uid'] = $user_data['uid'];
                        return TRUE;
                    }
                    else
                    {
                        return FALSE;
                    }
                }
                public function get_fullname($uid)
                {
                    $result = mysql_query("SELECT name FROM users WHERE uid = $uid");
                    $user_name = mysql_fetch_array($result);
                    echo $user_name['name'];
                }
                public function get_session()
                {
                    return $_SESSION['login'];
                }
                public function user_logout()
                {
                    $_SESSION['login'] = FALSE;
                    session_destroy();
                }
    }
    ?>
                    
                    
                    
        
            
    
    PHP:
     

    Attached Files:

    thumati, Nov 14, 2012 IP
  2. EricBruggema

    EricBruggema Well-Known Member

    Messages:
    1,740
    Likes Received:
    28
    Best Answers:
    13
    Trophy Points:
    175
    #2
    I think this line isn't correct

    $result = mysql_query("SELECT uid from users WHERE email = '$emailusername' or username = '$emailusername' and password = '$password'");

    maby this works

    $result = mysql_query("SELECT uid from users WHERE (email = '$emailusername' OR username = '$emailusername') AND password = '$password'");

    and next time, please try to print the full query for example add line echo "SELECT...." to display the query.
     
    EricBruggema, Nov 14, 2012 IP