使用PDO更新数据库时出现错误。我是PDO的新手,所以问题可能很小,我只是不明白。 关于错误的有趣的是,该命令可以正常运行,并且数据库确实得到了更新。 但是它仍然向我返回错误。码:try { $stmt = $pdo->prepare("UPDATE $page SET $section = :new_content WHERE $section = '$old_content'"); $stmt->execute(array( 'new_content' => $new_content )); $result = $stmt->fetchAll(); echo "Database updated!";}catch(PDOException $e) { echo 'ERROR UPDATING CONTENT: ' . $e->getMessage();}错误: 错误更新内容:SQLSTATE [HY000]:一般错误我真的不知道问题可能在哪里,因为它非常怪诞,而且我无法找到遇到相同问题的任何人。
3 回答
![?](http://img1.sycdn.imooc.com/533e4c3300019caf02000200-100-100.jpg)
郎朗坤
TA贡献1921条经验 获得超9个赞
请注意,发生此错误的另一个可能原因是,如果在现有父$ stmt循环内使用变量$ stmt进行第二次数据库调用。
$stmt = $conn->query($sql);
while ($row = $stmt->fetch()) { //second use of $stmt here inside loop
![?](http://img1.sycdn.imooc.com/533e51f30001edf702000200-100-100.jpg)
aluckdog
TA贡献1847条经验 获得超7个赞
$old_content
对我来说将是一个大危险信号。进入查询字符串的任何动态数据都可能有害。仅仅因为您将其从数据库中拔出并不意味着它是安全的。例如考虑像update users set name='Miles T. O\'Brien' where name='Miles O'Brien';
。您转义了新近更新的名称,但是从数据库中拉起了原始名称,现在,您已经为自己注入了语法错误。
- 3 回答
- 0 关注
- 713 浏览
添加回答
举报
0/150
提交
取消