Mysql
 sql >> Base de données >  >> RDS >> Mysql

erreur :'Numéro de paramètre invalide :le paramètre n'a pas été défini' lors de l'utilisation d'un tableau pour INSÉRER dans PDO

Comme l'a dit Phantom dans sa réponse, vous avez une faute de frappe. Il y a event_price_currency clé dans votre tableau et :event_price_currency_id espace réservé dans l'instruction prepare(). Si la correction ne fonctionne pas, essayez le code suivant et vérifiez la faute de frappe. Faites-moi savoir si vous rencontrez un problème.

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