2014-12-30 7 views
-2

제가 잘못하고있는 것을 알아내는 데 어려움이 있습니다. 내가 코드 세트를 사용하는 경우 나는 결과를 얻을 내가 의도 : 나는이 코드 세트를 사용하는 경우PDO가 결과를 반환하지 않습니다.

$x = $db->prepare('SELECT * FROM table LIMIT 2'); 
$x->execute(); 
print_r($x->fetchALL()); 

내가 대가로 아무것도 얻지 않는다 :

$a = "table"; 
$b = "2"; 
$x = $db->prepare('SELECT * FROM ? LIMIT ?'); 
$x->execute(array($a,$b)); 
print_r($x->fetchALL()); 

가 난 것이 있습니다 있어야 할 곳에 없는? 미리 감사드립니다.

+0

'SELECT * FROM? LIMIT?'할 수 없어. http://stackoverflow.com/q/182287/ 아니다. http://stackoverflow.com/q/11312737/ –

+1

'FROM'에 placholder를 사용할 수 없다. – Rizier123

+2

@ Rizier123에 대해서도 마찬가지입니다. –

답변

2

매개 변수 자리 표시자는 열 값을 바꿀 때만 사용할 수 있습니다. 테이블 이름, 열 이름 또는 다른 구문 요소 (LIMIT 값 포함)가 아닙니다.

매개 변수화 할 수없는 항목에 대해 동적으로 쿼리를 작성하려면 PDO의 도움없이 직접 작성해야합니다. 그러나 매개 변수화 할 수있는 값이 paramerized되도록 여전히 빌드해야합니다.

+0

오, 알겠습니다. 감사. – SupperSam

관련 문제