2012-02-14 3 views
0

많은 수의 사용자를 선택하고 기본 검색 기능에서 필터링 할 수있는 준비된 쿼리를 만들려고합니다.PHP PDO가 첫 번째 물음표를 표시하지 않는 것 같습니다.

그것은 다음과 같습니다

$ALL_MEMBERS = $database->prepare("SELECT * FROM Users WHERE Username LIKE '%?%' LIMIT ?, ?") 

그러나 PDO는 먼저 따기하지 않는 것 '?' '%'사이에. 왜 그런가?

당신이해야 할 생각

+4

사용자는 PHP 설명서를 참고 기여 :로 적는다

$database->prepare("SELECT * FROM Users WHERE Username LIKE ? LIMIT ?, ?"); 

하고 다음 제 1 가변이 ko/pdostatement.bindparam.php # 99698) to say –

+0

링크를 보내 주셔서 감사합니다. –

답변

4

당신은 PDO를 따옴표와 퍼센트로 혼동하는 경향이 있습니다. 표. http://www.php.net/manual/있다 [이 (

$database->execute(array('%'.$A.'%',$B,$C)); 
2

(I 잘못된 금액 거기에 말, 3 개의 매개 변수를 줄 때 두 개의 매개 변수를 제공하지 않는 경우 반면에 그것은 나에게 오류를 제공) :

$ALL_MEMBERS = $database->prepare("SELECT * FROM Users WHERE Username LIKE ? LIMIT ?, ?") 

PDO가 이미 문자열을 래핑해야합니다.

관련 문제