2014-12-01 3 views
-5
$ids = join(',',$galleries); 
$sql = "SELECT * FROM galleries WHERE id IN ($ids)"; 
+3

스택 오버플로에 오신 것을 환영합니다! 2 줄의 코드는 질문이 아닙니다. 당신은 당신이하려는 것을, 시도한 것을 당신이 우리에게서 필요로하는 것을 더 자세하게 사용하도록 말할 필요가 있습니다. – pquest

+0

*** SQL 인젝션 위험, 바로 앞에 !!! *** [이 문서를 읽으십시오] (http://bobby-tables.com) 그것이 무엇인지 그리고 그것을 방지하는 방법을 확인하십시오. 또한 변수 이름을 바꾸고 implode 별칭으로 전환하는 것 이외에 – Barranka

답변

-2

SQL 문을 구성하는 데 PHP 스크립트를 사용하는 것처럼 보입니다. 나는 항상 이것을한다. 다음과 같이 시도하십시오 :

$ galleryIds = implode (",", $ galleries);

$ sql = "SELECT * 갤러리에서 WHERE id IN ($ galleryIds)";

환호하고 나를 투표하십시오!

좋아요, 스택이 생산 코드를 위해이 코드를 사용한다고 생각하기 때문에 다음과 같이 편집합니다.

(가) 주입 방지하기 위해 탈출을 처리하는 루틴 플러스 데이터베이스 추상화 계층의 어떤 종류를 사용하십시오 : 데이터베이스에서 galleryIds을 가져올 때

예를 들어

, 그들은 모두 숫자 데이터 유형이있는 검사를 실행을 , 그리고 물론 Zend의 db-> quote ($ galleryIds) 같은 것을 SQL 생성에서 변수를 사용할 때 사용하십시오.

예를 들면

+0

질문을 명확히하십시오. OP 코드와 다른 점은 무엇입니까? –

관련 문제