2012-08-16 3 views
0

시나리오POST 데이터를 다양한 촬영하고 적절한 테이블

내가 웹 서비스에 데이터를 게시하고 아이폰 OS 응용 프로그램을 가지고에 지시. 매번 POST 데이터에는 다른 양의 변수가 있으며 동일한 양의 변수가있는 데이터베이스의 특정 테이블로 보내지도록되어 있습니다. 나는 37 개의 테이블을 가지고 있으며, 그것들은 3에서 27 컬럼까지의 크기를 가지고있다. POST 문장의 크기는 3에서 27 개이다.

나는 당신이 준비된 문에서 테이블 이름 (또는 행 이름)을 변경할 수 있다는 것을 발견 할 때까지, 준비된 문을 사용하려고했다

[질문. 어쨌든 37 if/else 문을 사용하는 것을 피할 수 있습니까? 아니면 데이터를 적절한 테이블로 보낼 수있는 유일한 방법일까요?

+0

테이블 이름을 변경할 수 있습니다. 단지 바인딩 할 수 없으므로 매우주의해야합니다. –

답변

2

열 개수로 테이블을 식별하는 것은 매우 나쁜 생각입니다. 동일한 수의 열을 가진 테이블이 두 개인 경우 어떻게해야할까요?

나의 제안은 서버 전에 게시 할 때 URL에 플래그를 추가하는 것입니다 : 설정 테이블에 대한

www.example.com/?type=settings //

www.example. com /? type = user // 사용자 테이블

등등. 물론 보안 위반이 될 URL에 정확한 테이블 이름을 사용하지 않아야합니다.

+1

정확한 테이블 이름을 가지고 있다고해서 반드시 보안 위반이되는 것은 아니지만, 어떤 상황에서도 테이블 이름을 화이트리스트에 있는지 확인하지 않고'$ _GET'에서 제공 한 테이블 이름을 사용해야합니다. –

+0

나는 .php에 상당히 익숙하다. 그러나 POST 데이터를 통해 이미 테이블 이름을 제공하고있다. 그래서 if/else 문과 함께 사용하여 데이터를 적절한 테이블로 전달할 것이라고 생각합니다. – BloonsTowerDefence

관련 문제