双引号后PDO bindParam截断字符串

时间:2014-10-05 15:38:26

标签: php mysql pdo

我的PDO准备查询有问题。当我尝试插入一个带有双引号的简单字符串时,例如'示例字符串"要插入mysql' ,当双引号开始并且MySQL中的结果为'示例字符串' 时,查询结果将被截断。 有人有这个pdo的问题吗?

这是我的疑问:

    $sql = "UPDATE sales 
        SET note = :note
        WHERE id_sale= :id";

    $stmt = $db->prepare($sql);
    $stmt->bindParam(':note', $this->note, PDO::PARAM_STR, 80);
    $stmt->bindParam(':id', $this->id, PDO::PARAM_INT);

    $stmt->execute();

提前致谢!

1 个答案:

答案 0 :(得分:0)

您必须根据底层数据库正确转义引号。

PDO可以为您完成此操作,请查看PDO::quote

$string = 'Example string';

print "Quoted string: " . $conn->quote($string);

输出

  

引用字符串:'示例字符串'