SQLSTATE[HY093]: All parameters are filled properly and the syntax is right, so what's wrong? : I am getting the following error and I can't figure out just why:

`SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in`

Here's the code:

    $transactions_sql = "INSERT INTO transactions (usr, service, txn_id, orig_amount, currency, date, description, fee_amt, 
      fee_currency, fee_descr, fee_type, net_amt, status) VALUES ";
    $transactions_sql_data = array_fill(0, count($transactions) - 1, "(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
    $transactions_sql .= implode(",", $transactions_sql_data);
    $stmt = $conn->prepare($transactions_sql);
    foreach ($transactions["data"] as $tr) {
      $stmt->bindValue(1, $id, PDO::PARAM_INT);
      $stmt->bindValue(2, tr["service"], PDO::PARAM_STR);
      $stmt->bindValue(3, $tr["id"], PDO::PARAM_INT);
      $stmt->bindValue(4, $tr["amount"], PDO::PARAM_INT);
      $stmt->bindValue(5, $tr["currency"], PDO::PARAM_STR);
      $stmt->bindValue(6, $tr["created"], PDO::PARAM_STR);
      $stmt->bindValue(7, $tr["description"], PDO::PARAM_STR);
      $stmt->bindValue(8, $tr["fee_details"][0]["amount"], PDO::PARAM_INT);
      $stmt->bindValue(9, $tr["fee_details"][0]["currency"], PDO::PARAM_STR);
      $stmt->bindValue(10, $tr["fee_details"][0]["description"], PDO::PARAM_STR);
      $stmt->bindValue(11, $tr["fee_details"][0]["type"], PDO::PARAM_STR);
      $stmt->bindValue(12, $tr["net"], PDO::PARAM_INT);
      $stmt->bindValue(13, $tr["status"], PDO::PARAM_STR);
    }
    $stmt->execute();

Doing `var_dump($transactions_sql)` prints `"INSERT INTO balance_transactions (usr, service, txn_id, orig_amount, currency, date, description, fee_amt, fee_currency, fee_descr, fee_type, net_amt, status) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?),(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?),(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"`, which is correct (in terms of number of question marks - there will only be three arrays inside the `$tr` array).

So what's wrong here?

**EDIT: If you're going to down vote, then please tell me what's wrong. Down voting and just leaving doesn't help me or any future reader.**