【问题标题】:PDO prepared statements converting single quotesPDO 准备好的语句转换单引号
【发布时间】:2013-03-12 17:21:32
【问题描述】:

我找不到这个简单(?)问题的明确答案。

我最近搬到了 PDO,我做了简单的插入查询:

$sql = "INSERT INTO item(name) values (:name)";
$q = $db->prepare($sql);
$q->bindParam(':name', $name);

现在,当我抛出参数“Dina's”时,它显然已转换为

"Dina's" 

(或者至少在 phpmyadmin 中是这样的)。

我能否以某种方式阻止这种转换,以便数据按照在 bindParam 上提供的方式存储?或者这个当前的转换值是存储数据的最佳方式吗?

【问题讨论】:

  • 这段代码没有任何转换,你应该检查$name的来源以及它的真正价值。
  • 天哪,你是对的!由于长堆栈,我没有注意到$name 转换。感谢您指出我的错误。我真的以为有一些奇怪的转换设置弄乱了存储过程。

标签: php mysql pdo


【解决方案1】:

这段代码没有任何转换,您应该检查 $name 的来源以及它的真正价值。

【讨论】:

    猜你喜欢
    • 2023-04-09
    • 2022-01-19
    • 1970-01-01
    • 2010-11-30
    • 1970-01-01
    • 2015-09-16
    • 2011-07-13
    • 2017-09-29
    相关资源
    最近更新 更多