我正在尝试使用PDO更新mysql数据库中的表中的行,并使用post方法从表单中获取数据。
例如,此代码不执行任务(从会话中获取的ID)...
((IEntity)order1).ID= 1;
它也不能用于这样的四个参数:
@FXML
private void update()
{
...
// Create new instance of UserData
UserData userData = new UserData(name.getText(), country.getText());
// Add it to the backing list
data.add(userData);
}
这也不起作用(再次,会话中的id)......
$u = $_POST;
if( isset($_POST['update']) ) {
$output = 'table';
$usr = "update table set one=?, two=?, three=? where id=?";
$one=$_POST['one'];
$two=$_POST['two'];
$three=$_POST['three'];
$query=$db->prepare($usr);
if( !$query->execute(array($one, $two, $three)) ) {
$db->error;
} else {
print "update successful";
}
}
我也试过这个http://www.mustbebuilt.co.uk/php/insert-update-and-delete-with-pdo/并且它也没有工作......
答案 0 :(得分:0)
execute()方法的参数不是好的:
对于第一个示例,预期参数的数量为4,您只提供3,缺少id参数。
对于第二个,请阅读文档,你没有在你给出的关联数组中设置“:”字符作为参数。 id参数仍然缺失。
答案 1 :(得分:0)
你错过了$id
你只传递了3个参数
试试这段代码: -
if( !$query->execute(array($one, $two, $three,$id)) )