【发布时间】:2015-11-21 15:19:57
【问题描述】:
有人知道为什么这不起作用吗?
$sql = $dbh->prepare('UPDATE notes SET title=:title, content=:content WHERE id=:id');
$title = $_POST['title'];
$content = $_POST['editor_edit'];
$id = $r2['id'];
$sql->bindValue(':title',$title);
$sql->bindValue(':content',$content);
$sql->bindValue(':id',$id);
$sql->execute();
我尝试在没有 bindValue 的情况下做同样的事情,但是将内容直接放入执行命令中,但这是行不通的。当我尝试将简单的值放入语句(如'UPDATE notes SET title="test", content="hello" WHERE id=20')时,它起作用了,因此与数据库的连接正常。有人看出错误了吗?
【问题讨论】:
-
这是什么意思它不工作?有什么错误?
-
和@bub 说的一样,你得到了什么错误?
-
我没有收到任何错误......
-
如果您没有收到任何错误,这可能不是语法问题 - 可能只是
$r2['id']中的值实际上与表中任何记录的 id 不匹配 - 尝试:var_dump($r2['id'])看看它到底有什么。 -
我认为更新语法不正确,请检查您的更新语法。 SET
title=:标题,content=:内容
标签: php mysql pdo sql-update