I would recommend you try using this solution:
CREATE TABLE `matri_user_info` (
`reg_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`email_id` varchar(45) NOT NULL,
`pass` varchar(45) NOT NULL,
`name` varchar(45) NOT NULL,
`age` INT(3) NOT NULL,
`gender` varchar(45) NOT NULL,
`height` NUMERIC(6,3) NOT NULL,
`religion` varchar(45) NOT NULL,
`marital_status` varchar(45) NOT NULL,
PRIMARY KEY (`reg_id`)
) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8;
Now using this Query
$query_for_result=mysql_query("SELECT * FROM matri_user_info WHERE gender='".$gender."' AND age BETWEEN ".$agemin." AND ".$agemax." AND height BETWEEN ".$hmin." AND ".$hmax);
?>
The corrections I've made in your SQL Code are: Change the height to a floating point number, and age to an integer...both from Varchar. In your PHP Code I've re-formatted your code for readability, and just following the Conventions used while writing SQL Statements.
If the problem persists, get back to me, I will assist. If it works, approve my answer by indicating solved and upvote.
Regards,
Patrick