无效的参数编号:未在中定义参数 [英] Invalid parameter number: parameter was not defined in

查看:67
本文介绍了无效的参数编号:未在中定义参数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

曾经在这里停留了一段时间.

Been stuck here for some time.

我在尝试运行代码时收到此错误:

I am receiving this error when I try to run the code:

警告:PDOStatement :: execute():SQLSTATE [HY093]:无效的参数 number:参数未在中定义 /Applications/XAMPP/xamppfiles/htdocs/ProjectWebSite/php/PDO.php上 第111行

Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in /Applications/XAMPP/xamppfiles/htdocs/ProjectWebSite/php/PDO.php on line 111

第111行是代码的第一行

Line 111 is the first line of the code

$result1 = $query1->execute( array( ':transactionID'=>$transactionID, ':personalID'=>$array['personalID'], 
            ':description'=>$array['description'], ':cost'=>$array['cost'], ':datetime'=>$array['datetime'] )  );




function createTransaction($array){
    $db = connection();
    $stmt = $db->prepare("Select MAX(`transactionID`)+1 AS transactionID FROM transaction ");
    $stmt->execute();
    $transactionID = null;
    $results = $stmt->fetchAll(); 
    foreach ($results as $result) {
        $transactionID =$result['transactionID'];
    }

    if(isset($transactionID)){
        $sql = "INSERT INTO `transaction`(`transactionID`, `personalID`, `description`, `cost`, `dateTime`)"
            . " VALUES (:transactinID,:personalID,:description,:cost,CAST(:datetime AS DATETIME)";
        $query1 = $db->prepare( $sql );

        $result1 = $query1->execute( array( ':transactionID'=>$transactionID, ':personalID'=>$array['personalID'], 
            ':description'=>$array['description'], ':cost'=>$array['cost'], ':datetime'=>$array['datetime'] )  );
        var_dump($result1);
        if ( $result1 ){
     return $transactionID;
        }
             return null;
    }
}

推荐答案

您的查询中有错字:

:transactinID应该是:transactionID

这篇关于无效的参数编号:未在中定义参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆