嗨,我有一个查询,我在数据库中插入信息。提交表单的工作原理是预期的。但是,在输入的文本中使用‘(撇号)时,我会收到一个PDOException SQLSTATE42000语法错误或访问冲突: 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();
有人知道这是为什么吗?
发布于 2016-01-29 00:39:12
我不能百分之百地肯定这一点,但是如果您使用->bindParam()
的第三个参数来通知它数据类型,那么您很可能就可以更正这个问题了。
所以这将是明确的
$result->bindParam(':contents', $contents, PDO::PARAM_STR);
但是您应该在所有的->bindParam()
调用中使用它。
手动http://php.net/manual/en/pdostatement.bindparam.php 和参数常数http://php.net/manual/en/pdo.constants.php
https://stackoverflow.com/questions/35074164
复制相似问题