OOP Question

I have a user class and a user has multiple scorecards. Can Somebody tell me why this doesnt work?


class user {
    private $name;    
    
    function setName($val) {
        $query = 'SELECT * FROM users WHERE f_name="'.$val.'"';
        $result = mysql_query($query);
            if (mysql_num_rows($result) == 0) {
                $this->name = "Invalid Login";
            } else {
                while ($row = mysql_fetch_assoc($result)) {
                    $this->name = $row['id'];
                }
            }
    }
    function getName() {
        return $this->name;
    }
}
    
class scorecards extends user {
    private $test;

    function setScorecard() {
        $query = 'SELECT * FROM scorecards WHERE user_id="'.$this->name.'"';
        $result = mysql_query($query);
            $this->test = mysql_num_rows($result);
    }
    function getScorecard () {
        return $this->test;
    }
}

$user = new user;
    $user->setName("Jeff");
echo $user->getName().'<br />';
    $user->setScorecard();
echo $user->getScorecard();

It gives me this error - Fatal error: Call to undefined method user::setScorecard() in D:\Website est.php on line 54