PdoStatement-> bindParam()上的字符串编码问题?

时间:2010-02-06 18:38:06

标签: php httpwebrequest pdo request

我正在尝试从取自SELECT var的字符串中执行一个简单的$_REQUEST语句,但似乎我的PDO语句不喜欢字符串格式,为什么?

我的$_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 个答案:

答案 0 :(得分:2)

您不必在绑定的参数周围添加“..”,pdo会为您执行此操作