매개 변수화 된 PDO 문 : 신뢰할 수있는 상수 값을 매개 변수화해야합니까? 이 쿼리에서
SELECT name FROM customers WHERE location = ? AND active = '1'
는
위치의 값은 신뢰할 수없는 소스에서 온 것이지만,
활성의 값은 내가 PHP/MySQL 용 PDO를 사용하고 항상 = 1이 될 것입니다.
또한 의 값을으로 매개 변수화해야합니까?
이 상수가 아니지만 변경되고 신뢰할 수있는 출처에서 제공된 경우 매개 변수화해야합니까? (즉, 캐싱의 이점은 무엇입니까?)
규칙은 다음과 같습니다. 사용자 데이터를 쿼리와 혼합 할 때마다 매개 변수가있는 쿼리 –
을 코드 가독성/이해력에 근거한 의견을 사용합니다. 해당 상수 *가 SQL에 하드 코딩 된 경우. 가변성을 부여하면 코드의 독자가 왜/어디에서 값을 가변 시킬지 궁금해집니다. 그러나 하드 코드 된 경우 한눈에 누군가 "아,이 쿼리는 모든 활성 사용자를 얻습니다"라고 말할 수 있습니다. – goat