error: 'Invalid parameter number: parameter was not defined' when using an array to INSERT in PDO

后端 未结 4 1284
臣服心动
臣服心动 2021-01-26 10:31

I\'m trying to insert in array that looks like:

$prices = array(array(\'event_id\' => 1, \'event_price_type\' => 5, \'event_price\' => 5, \'event_price         


        
4条回答
  •  囚心锁ツ
    2021-01-26 10:48

    As Phantom said in his answer, You have a typo. There isevent_price_currency key in your array and :event_price_currency_id placeholder in prepare() statement. If fixing that doesn't work, try the following code and check the typo. Let me know if you face any problem.

    try
    {
       $DBH->beginTransaction();
       $STH = $DBH->prepare("INSERT INTO event_prices(event_id, event_price_type, event_price,  event_price_currency_id, event_price_info ) values (?, ?, ?, ?, ?)");
    
      foreach($prices as $price)
      {
        foreach($price as $row)
        {
            $data[] = $row;
        }
    
        $STH->execute($data);
        $data = NULL;
      }
    
      $DBH->commit();
    }
    
    catch(PDOException $e)
    {
      echo 'Error ! ' . $e->getMessage();
      die();
    }
    

提交回复
热议问题