我正在尝试从取自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
答案 0 :(得分:2)
您不必在绑定的参数周围添加“..”,pdo会为您执行此操作