2011-09-24 5 views

답변

3

동적으로 빌드 된 테이블 이름을 쿼리에 전달하는 것은 매우 위험합니다. 그러나 응용 프로그램에 너무 많이 필요하면 데이터를 삭제해야합니다. PDO가이 문제를 해결할 수 없기 때문에 직접 mysql_real_escape_string으로 전화해야합니다. 또한 테이블 이름을 backticks로`table_name`으로 묶어야합니다.

'SELECT * FROM `' . mysql_real_escape_string($database) . '` WHERE id = :id 

한 참고 : 다음 DB에 이미 설정된 연결을 필요로 mysql_real_escape_string 그래서 같이 쿼리를 준비합니다.

편집 :하지만 생각해 보면 $database 변수를 기존 표와 비교하는 것이 가장 좋습니다.

+0

예, 고정 된 목록에서 선택하고 있지만 좋은 지적입니다. –

관련 문제