以下是我的代码,我无法解决此错误。任何帮助表示赞赏。我正在尝试更新数据库中的表。

    public function updateUnit($params){
    $user = 'monil';
    $password = 'Masters123';
    $dbh = new \PDO('mysql:host=127.0.0.1;dbname=tcsdb', $user, $password);

    $task=array(':UnitCode'=>$params['UnitCode'],':UnitDescription'=>$params['UnitDescription']    ,
      ':UnitName'=>$params['UnitName'], ':UnitID'=>$params['UnitID']);
    echo $params['UnitID'];

    $sth = $dbh->prepare('UPDATE unit SET UnitCode = :UnitCode,'
        . 'UnitDescription = :UnitDescription,UnitName = :UnitName WHERE UnitId=:UnitId');
    $sth->execute($task);

    return true;
}

最佳答案

:UnitID != :UnitId
参数区分大小写。

关于php - PDOStatement::execute():SQLSTATE [HY093]:无效的参数编号:参数未定义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23134769/

10-15 19:25