Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Fehler:'Ungültige Parameternummer:Parameter wurde nicht definiert' bei Verwendung eines Arrays zum INSERT in PDO

Wie Phantom in seiner Antwort sagte, haben Sie einen Tippfehler. Es gibt event_price_currency Geben Sie Ihr Array und :event_price_currency_id ein Platzhalter in der Prepare()-Anweisung. Wenn das Beheben nicht funktioniert, versuchen Sie den folgenden Code und überprüfen Sie den Tippfehler. Lassen Sie mich wissen, wenn Sie auf ein Problem stoßen.

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();
}