Sie müssen nur ein Array an die Methode execute übergeben. Ihr aktualisierter Code würde also so aussehen:
$sql = 'INSERT INTO `' . $table_name . '` '
. '(`day`, `campaign_name`, `campaign_id`, `views`, `CPM`, `cost`, `currency`, `cost_EUR`) VALUES '
. '(:day, :campaign_name, :campaign_id, :views, :CPM, :cost, :currency, :cost_EUR)';
$sth = $this->_dbi->prepare($sql);
$sth->execute(array(
':day' => $day,
':campaign_name' => $campaignName,
':campaign_id' => $campaignID,
':views' => $views,
':CPM' => $cpm,
':cost' => $cost_EUR,
':currency' => 'EUR',
':cost_EUR' => $cost_EUR
));
Lesen Sie hier mehr:http://php.net/manual/en/pdostatement.execute .php