2010-02-06 2 views
2

$_REQUEST var에서 가져온 문자열에서 간단한 SELECT 문을 수행하려고하지만 내 PDO 문이 문자열 형식을 좋아하지 않는 것 같습니다.PdoStatement-> bindParam()에서 문자열 인코딩 문제가 발생 했습니까?

$_REQUEST VAR는 Hello+World 같은 문자열을 포함, 그래서 제대로 내 SELECT 문을 수행하는 공백으로 +를 교체해야합니다.

// the data returned is Hello+World 
$phrase = str_replace ("+", " ", $_REQUEST["my_data"]); 

$phrase_select = $connection->prepare ("SELECT data_field FROM my_table WHERE phrase = ':phrase'"); 
$phrase_select->bindParam (":phrase", $phrase, PDO::PARAM_STR); 
$phrase_select->execute(); 
$data_field = $phrase_select->fetchColumn(); // return nothing 

내가 수동으로 문자열 "Hello+World"으로 SELECT을하면, 그것은 문제없이 작동하지만, 내가 $_REQUEST["my_data"]와 함께 할 경우 내가 틀렸다 곳은 작동하지 않습니다? 내가 $_REQUEST["my_data"]를 인쇄
경우 정확히 Hello+World

답변

2

당신은 추가 할 필요가 없습니다 반환 '을 ..'바운드 PARAM 주위 PDO는

+0

이 감사를 위해 그렇게 할 것입니다! 나는 PDO 수업을 명확하게 이해하기 위해 더 많은 연습이 필요합니다. – vitto

관련 문제