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

PDOStatement::execute():SQLSTATE[HY093]:Ugyldigt parameternummer:antallet af bundne variabler matcher ikke antallet af tokens

Du behøver kun at sende et array til execute-metoden. Så din opdaterede kode ville se sådan ud:

$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
));

Læs mere her:http://php.net/manual/en/pdostatement.execute .php




  1. Hvordan vælger du en kolonne ved hjælp af Hibernate?

  2. Oprettelse eller simulering af todimensionelle arrays i PL/SQL

  3. Sådan tilføjes fremmednøglebegrænsning til eksisterende tabel i SQL Server - SQL Server / TSQL vejledning del 68

  4. Kan jeg betinget håndhæve en unikhedsbegrænsning?