【问题标题】:String encoding problem on PdoStatement->bindParam()?PdoStatement->bindParam() 上的字符串编码问题?
【发布时间】:2010-02-06 18:38:06
【问题描述】:

我正在尝试从取自 $_REQUEST var 的字符串中执行简单的 SELECT 语句,但我的 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

如果我用字符串“Hello+World”手动创建SELECT,它可以正常工作,但如果我用$_REQUEST["my_data"] 这样做,它就行不通,我错在哪里?
如果我打印 $_REQUEST["my_data"] 它完全返回 Hello+World

【问题讨论】:

    标签: php httpwebrequest pdo request


    【解决方案1】:

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

    【讨论】:

    • 谢谢!我需要更多练习才能清楚地理解 PDO 类
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-08
    • 1970-01-01
    • 2012-02-22
    • 2019-11-17
    相关资源
    最近更新 更多