Php 插入查询PDO单引号PDO错误

Php 插入查询PDO单引号PDO错误,php,mysql,pdo,Php,Mysql,Pdo,嗨,我有一个查询,我正在将信息插入数据库。 提交表单可以按预期工作。但是,在输入的文本中使用“(撇号)时, 我收到一个PDOException SQLSTATE[42000]语法错误或访问冲突:1064 $result = $conn->prepare("UPDATE `news_articles` SET `postedby`=:postedby,`title`=:title,

嗨,我有一个查询,我正在将信息插入数据库。 提交表单可以按预期工作。但是,在输入的文本中使用“(撇号)时, 我收到一个PDOException SQLSTATE[42000]语法错误或访问冲突:1064

$result = $conn->prepare("UPDATE `news_articles` 
                            SET `postedby`=:postedby,`title`=:title,
                                `short_title`=:short_title, 
                                `article_image`=:article_image,
                                `contents`=:contents,
                                `datetime`=:datetime,
                                `event_datetime`=:event_datetime,
                                `type`=:type 
                           WHERE `articleid`=:articleid");
    $result->bindParam(':articleid', $articleid);
    $result->bindParam(':postedby', $postedby);
    $result->bindParam(':title', $title);
    $result->bindParam(':short_title', $short_title);
    $result->bindParam(':article_image', $article_image);
    $result->bindParam(':contents', $contents);
    $result->bindParam(':datetime', $datetime);
    $result->bindParam(':event_datetime', $event_datetime);
    $result->bindParam(':type', $type);
    $result->execute();

有人知道这是为什么吗?

我不能100%确定这一点,但是如果您使用
->bindParam()
的第三个参数来通知它数据类型,那么您可能就只需要它来纠正这个问题了

因此,这将是明确的

$result->bindParam(':contents', $contents, PDO::PARAM_STR);
但是您应该在所有的
->bindParam()调用中使用它

手册

和参数常数


我不是100%确定这一点,但是如果您使用
->bindParam()
的第三个参数来通知它数据类型,那么它可能就是纠正此问题所需的全部

因此,这将是明确的

$result->bindParam(':contents', $contents, PDO::PARAM_STR);
但是您应该在所有的
->bindParam()调用中使用它

手册

和参数常数


您知道是哪个字段导致了问题吗?包含撇号的数据看起来更像是错误,比如堆栈跟踪?别这么认为Phil。。是的,它应该是$contents,因为我们使用的是TinyMCE编辑器,所以当我们写一篇文章时,如果里面包含撇号,它会给出提交时显示的错误,您知道是哪个字段导致了问题吗?包含撇号的数据看起来更像是错误,比如堆栈跟踪?别这么认为Phil。。是的,它应该是$contents,因为我们正在使用TinyMCE编辑器,所以当我们写一篇文章时,如果里面包含撇号,它会给出提交时显示的错误,成功了!所以,即使并没有显示其他错误,我也应该定义什么类型的数据类型?我很快就会更新。谢谢RiggsFollyWorked!所以,即使并没有显示其他错误,我也应该定义什么类型的数据类型?我很快就会更新。谢谢你的愚蠢