Php 使用PDO语法的问题
在使用PDO更新MySQL中的记录时有一个小问题。当我使用语法时,它无法更新,例如,如果我使用:Php 使用PDO语法的问题,php,mysql,pdo,Php,Mysql,Pdo,在使用PDO更新MySQL中的记录时有一个小问题。当我使用语法时,它无法更新,例如,如果我使用:“它将使我失败。我在用我的prepare,但就是撇号没用 if($_POST['ourstory']) { foreach($_POST['ourstory'] as $id => $ourstory) { $sql = "UPDATE our_story SET content = '$ourstory' WHERE id = '$id'"; $q =
“
它将使我失败。我在用我的prepare,但就是撇号没用
if($_POST['ourstory']) {
foreach($_POST['ourstory'] as $id => $ourstory) {
$sql = "UPDATE our_story SET content = '$ourstory' WHERE id = '$id'";
$q = $db->prepare($sql);
$q->execute(array($id,$ourstory));
}
}
这不是你使用准备好的陈述的方式。您想在查询中使用
?
$sql = "UPDATE our_story SET content = ? WHERE id = ?";
$q = $db->prepare($sql);
$q->execute(array($ourstory, $id));
您应该绑定变量,而不是将它们直接添加到SQL字符串中。?这个问号实际上是一个答案P
$sql=“更新我们的故事集内容=?其中id=?”代码>因为您使用的是execute(array())
,所以请使用问号占位符,而不是语法。您希望句子不需要不合语法就可以插入数据库。另外:也谢谢你。我的英语不是很好,但是非常感谢你。你也可以做设置content=:content其中id=:id
,然后执行(数组(':content'=>$content',:id'=>$id')
)。