php pdo multi array insert

Bawiłem się przez kilka godzin i próbowałem to rozwiązać, ale wygląda na twardego orzecha do zgryzienia.

Jestem w stanie wykonać pojedyncze wstawienie tablicy

$person = array('name' => 'Wendy', 'age' => '32');

ale jeśli chcę wielu takich jak ten:

$person = array(array('name'=>'Dan', 'age'=>'30'), array('name' => 'John', 'age' => '25'), array('name' => 'Wendy', 'age' => '32'));

To nie działa? Każda pomoc byłaby doceniana.

Do wielokrotnego wstawiania:

public function insertPdo($table, $data){
    try{
        if (!is_array($data) || !count($data)) return false;

        $bind = ':' . implode(', :', array_keys($data));      
        $sql = 'INSERT INTO ' . $table . ' (' . implode(', ',array_keys($data)) . ') ' . 'values (' . $bind . ')';

        $sth = $this->__dbh->prepare($sql);
        $result = $sth->execute($data);

    }
    catch(PDOException $e){
        echo $e->getMessage();
    }
}

Do pojedynczego wstawiania

$person = array('name'=>'Dan', 'age'=>'30');
$db->insertPdo('test_pdo',$person);

// For Multi Insertion, I'm trying to use this in above function
foreach ($data as $row) {
    $result = $sth->execute($row);
};

$person = array(array('name'=>'Dan', 'age'=>'30'), array('name' => 'John', 'age' => '25'), array('name' => 'Wendy', 'age' => '32'));
$db->insertPdo('test_pdo',$person);

A błąd:

Błąd: SQLSTATE [HY093]: Niepoprawny numer parametru: liczba powiązanych zmiennych nie odpowiada liczbie tokenów

questionAnswers(2)

yourAnswerToTheQuestion