Mysql
 sql >> Database >  >> RDS >> Mysql

errore:'Numero parametro non valido:parametro non definito' quando si utilizza un array per INSERT in PDO

Come ha detto Phantom nella sua risposta, hai un errore di battitura. C'è event_price_currency digita il tuo array e :event_price_currency_id segnaposto nell'istruzione prepare(). Se la correzione non funziona, prova il codice seguente e controlla l'errore di battitura. Fammi sapere se riscontri problemi.

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