인수에 $filter
인수를 허용하고 인수의 필터를 기반으로 SQL 테이블에서 데이터를 가져 오는 함수가 있습니다. 처음에는 함수 하나가 하나의 변수 $filter
을 가져오고 다른 필터가 여러 필터를 사용하도록 함수 오버로드를 시도했습니다. 하지만 필자는 필자가 필터 태그를 어떻게 위생 처리 할 수 있는지 궁금해하기 시작했습니다.where 절에서 열 이름으로 살균 된 입력 전달
혼란 스러울 수도 있으므로 여기에 몇 가지 예가 나와 있습니다. 예를 들어 사용자가 검색 상자에 입력하여 이라는 이름의 모든 사용자를 표시하려면을 입력합니다. 따라서 $filter_tag
은 '이름'을 말하고 '$filter
'은 '존'이라고 설정됩니다. 내 PDO 쿼리는 다음과 같이 보일 것입니다 :
$query = "SELECT `name` FROM `users` WHERE ";
$query .= $filter_tag." = ?";
문제는 $filter_tag
는 소독되지 않는 것입니다. 내가 위생 처리를하고 변수가 이스케이프되면 쿼리가 작동하지 않습니다. 아마 내가 필요로하는 것보다 더 복잡하게 만들고 있으며 간단한 해결책이 있습니다.
내가 묻는 것을 이해하지 못했다면 의견을 보내주십시오.
완벽하고 방금 내가 찾고있는 것이 었습니다. – ChrisRockGM