sql >> Base de Datos >  >> RDS >> Mysql

error:'Número de parámetro no válido:el parámetro no se definió' al usar una matriz para INSERTAR en PDO

Como dijo Phantom en su respuesta, tienes un error tipográfico. Hay event_price_currency ingrese su matriz y :event_price_currency_id marcador de posición en la instrucción prepare(). Si arreglar eso no funciona, pruebe el siguiente código y verifique el error tipográfico. Avísame si tienes algún problema.

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