php - 更新PDO无法正常工作

时间:2015-10-30 10:15:44

标签: php mysql pdo

我正在尝试使用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/并且它也没有工作......

2 个答案:

答案 0 :(得分:0)

execute()方法的参数不是好的:

对于第一个示例,预期参数的数量为4,您只提供3,缺少id参数。

对于第二个,请阅读文档,你没有在你给出的关联数组中设置“:”字符作为参数。 id参数仍然缺失。

答案 1 :(得分:0)

你错过了$id你只传递了3个参数

试试这段代码: -

if( !$query->execute(array($one, $two, $three,$id)) )