CREATE PROCEDURE `insuertika_panel1`.`search_candidate`( var_jtitle VARCHAR(50),var_city VARCHAR(50),var_rtitle VARCHAR(50),var_rzip VARCHAR(50),var_state VARCHAR(50),var_exp INT(11)) BEGIN DECLARE jtitle VARCHAR(50); DECLARE city VARCHAR(50); DECLARE rtitle VARCHAR(50); DECLARE rzip VARCHAR(50); DECLARE r_state VARCHAR(50); DECLARE r_exp INT(11); SET @jtitle= var_jtitle; SET @city=var_city; SET @rtitle=var_rtitle; SET @rzip=var_rzip; SET @r_state=var_state; SET @r_exp=var_exp; SELECT * FROM tbl_candidate WHERE (`job_title` IS NOT NULL OR `job_title` LIKE CONCAT('%',@jtitle,'%')) OR ( `candidate_city` IS NOT NULL OR `candidate_city` LIKE CONCAT('%',@city,'%')) OR (`resume_title` IS NOT NULL OR `resume_title` LIKE CONCAT('%',@rtitle,'%') ) OR (`Zip` IS NOT NULL OR `Zip` LIKE CONCAT('%',@rzip,'%') ) OR (`candidate_state` IS NOT NULL OR `candidate_state` LIKE CONCAT('%', @r_state, '%')) OR (`exp` IS NOT NULL OR `exp` LIKE CONCAT('%' ,@r_exp, '%')) LIMIT 100; END$$
DELIMITER ;
why above code is not working ? if we call procedure like call search_candidate('soft','','','','','') then it returns the other job_title other than software. pls give me full fledge solution for dynamic search.