Inserindo valores múltiplos usando mysqli

Alguém pode me dizer o que há de errado com esta linha de código? Atualmente, sou novo e agora estou tentando usar a declaração preparada do mysqli para se conectar ao back-end do database. Até agora não consigo conseguir que ele atualize o database.

$stmt = $mysqli->prepare("INSERT INTO canada VALUES (?,?,?,?,?,?)"); $stmt->bind_param('sssiss',$_REQUEST["UserID"],$_REQUEST["FirstName"], $_REQUEST["LastName"],$_REQUEST["Age"],$_REQUEST["WhatParty"], $_REQUEST["Electorate"]); $stmt->execute(); 

O problema é o primeiro parâmetro para ligar param ele especifica que existem dois campos do tipo inteiro que não é verdade.

parameters de binding

se o ID do usuário e a idade forem int, e o resto seja o tipo de string, então eu devo ser inteiro para s

– Atualização

 $db = new mysqli($server_host, $server_user, $server_password, $server_db); if (mysqli_connect_errno()) { printf("DB error: %s", mysqli_connect_error()); exit(); } $stmt = $db->prepare("INSERT INTO canada userid,firstname,lastname,age,whatparty,electorate) VALUES (?,?,?,?,?,?))"); $stmt->bind_param("ississ",$_REQUEST["UserID"],$_REQUEST["FirstName"], $_REQUEST["LastName"],$_REQUEST["Age"], $_REQUEST["WhatParty"],$_REQUEST["Electorate"]); $stmt->execute(); 

o problema é que há 6 (?,?,?,?,?,?) e você 7 parâmetro em bind_param

experimentar

  $stmt = $mysqli->prepare("INSERT INTO canada VALUES (?,?,?,?,?,?,?)");