sql >> Databasteknik >  >> RDS >> Mysql

fel:'Ogiltigt parameternummer:parametern definierades inte' när du använder en array för att INSERT i PDO

Som Phantom sa i sitt svar, Du har ett stavfel. Det finnsevent_price_currency knappa in din array och :event_price_currency_id platshållare i prepare()-satsen. Om det inte fungerar kan du prova följande kod och kontrollera stavfelet. Låt mig veta om du har några 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();
}


  1. Varför använda join istället för var i MySQL-frågor?

  2. Jquery datepicker med Ajax fungerar inte

  3. UnboundLocalError:lokal variabel 'cursor' som refereras till före tilldelning

  4. Fel vid anslutning till databasen:(med klassen org.gjt.mm.mysql.Driver) Satsen (1) har ingen öppen markör