Проблема кодирования строки в PdoStatement-> bindParam ()? - PullRequest
2 голосов
/ 06 февраля 2010

Я пытаюсь выполнить простой оператор SELECT из строки, взятой из $_REQUEST var, но, похоже, мой оператор PDO не любит формат строки, почему?

My $_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

Если я создаю SELECT вручную со строкой "Hello+World", это работает без проблем, но если я делаю это с $_REQUEST["my_data"], это не сработает, где я не прав?
Если я напечатаю $_REQUEST["my_data"], он вернется точно Hello+World

1 Ответ

2 голосов
/ 06 февраля 2010

вам не нужно добавлять '..' вокруг вашего связанного параметра, pdo сделает это за вас

...