이 쿼리를 작성했습니다.변수는 문자열로 래핑되어야합니다.
$sql = "SELECT `candidates`.`candidate_id`, `candidates`.`first_name`, `candidates`.`surname`, `candidates`.`DOB`, `candidates`.`gender`, DATE_FORMAT(NOW(), '%Y') - DATE_FORMAT(`candidates`.`DOB`, '%Y') - (DATE_FORMAT(NOW(), '00-%m-%d') < DATE_FORMAT(`candidates`.`DOB`, '00-%m-%d')) AS `age`, `candidates`.`talent`, `candidates`.`location`, `candidates`.`availability`, `candidate_assets`.`url`, `candidate_assets`.`asset_size`
FROM `candidates`
LEFT JOIN `candidate_assets` ON `candidate_assets`.`candidates_candidate_id` = `candidates`.`candidate_id`
WHERE `candidates`.`availability` = 'yes'";
if(isset($type)) {
$sql .= ' AND candidates.talent = '. "$type";
}
if(isset($skill))
{
$sql .= ' AND candidates.skill = '."$skill";
}
if(isset($gender))
{
$sql .= ' AND candidates.gender = '."$gender";
}
$query = $this->db->query($sql);
return $query->result_array();
$type
$type
,
$skill
및
$gender
변수에 전달 된 변수가 포함 된 변수가 SQL에 반환되면 ""가능합니까? 어떻게하면 좋을까요?
COdeIgniter 또는 다른 프레임 워크를 사용하고 있습니까? 그 방법들은 그렇게 보입니다. 또한 이전 질문을 기반으로합니다. 그렇다면 $ this-> db-> escape_string ($ value)을 사용하십시오. –
사람들은 왜 여전히 동적으로 생성 된 쿼리를 사용하고 있으며 현재 이스케이프 중입니까? :/ – ThiefMaster
@ThiefMaster 우리는 www에 관한 모든 오래된 PHP 튜토리얼을 없앨 수 없기 때문에. 마법 질문은 항상 SO 질문에서 나타난다. –