CakePHP中的转义字段数组
我目前有:CakePHP中的转义字段数组,php,security,cakephp,model,Php,Security,Cakephp,Model,我目前有: $subQuery = $dbo->buildStatement( array( 'fields' => array( "CASE WHEN Application.program_type_id = 3 AND Application.program_type_id
$subQuery = $dbo->buildStatement(
array(
'fields' => array(
"CASE
WHEN
Application.program_type_id = 3
AND Application.program_type_id IS NOT NULL
THEN {$keys['program_type_id_program_type_id']}
ELSE 0
END as program_type_score,
CASE
WHEN
Application.priority_subject_area_id = 1
AND Application.priority_subject_area_id IS NOT NULL
THEN {$keys['priority_subject_area_id_priority_subject_area_id']}
ELSE 0
END as priority_subject_area_priority_subject_area_score,
User.*"
),
'table' => $dbo->fullTableName($this),
'alias' => 'User',
'limit' => null,
'offset' => null,
'joins' => $joins,
'conditions' => array(
'Application.state' => 'accepted',
'Role.role' => 'mentor'
),
'order' => null,
'group' => null
),
$this->User
);
我需要从以下内容更改案例陈述:
CASE
WHEN
Application.program_type_id = 3
AND Application.program_type_id IS NOT NULL
THEN {$keys['program_type_id_program_type_id']}
ELSE 0
END as program_type_score
为此:
CASE
WHEN
Application.program_type_id = $user['User']['value']
AND Application.program_type_id IS NOT NULL
THEN {$keys['program_type_id_program_type_id']}
ELSE 0
END as program_type_score
如何转义$user['user']['value']?但是,它已经被弃用了。我在php中使用单引号,因此我将使用以下方法:
'CASE
WHEN
Application.program_type_id = '.$user['User']['value'].'
AND Application.program_type_id IS NOT NULL
THEN {$keys['program_type_id_program_type_id']'}
ELSE 0
END as program_type_score'
enter code here
你应该完成
我喜欢单引号的原因之一。有时工作可能会更多,但通常不担心逃避。至少在很长一段时间内,您不会使用PHP变量将HTML与Javascript混合使用。然后它总是变得一团糟
希望这能有所帮助。似乎CakePHP在
find()
方法上自行完成了转义,正如文档所说:我想你没有明白我的问题。我的问题是像mysql\u real\u escape\u string()功能一样进行转义。