Requete préparée d'insert rend 0

Eléphant du PHP | 56 Messages

26 nov. 2013, 16:58

Bonjour, j'ai un problème avec ma requête préparée : le nbTot rend 0 après l'insertion de la requête. Au débug, je remarque que mes variables contiennent bien ce que je récupère du formulaire et cela est bien envoyé dans la requête. Je remarque également que dans l'execute, il n'execute que la ligne pour l'id puis sort de l'execute pour aller à nbTot et me rend donc 0. Je ne vois donc pas où est mon problème.

Code de la requete :
public function inserContact($numOrga,$civ,$prenom,$nom,$email,$tel,$fonction) {
$jeu = $this->monPdo->prepare("insert into contact(id,numeroOrganisation,civilite,prenom,nom,email,tel,fonction)
VALUES (':id', ':numOrga',':civ',':pre',':nom',':email',':tel',':fonction')");
$jeu->execute(array('id' => '100',
'numOrga' => $numOrga,
'civ' => $civ,
'pre' => $prenom,
'nom' => $nom,
'email' => $email,
'tel' => $tel,
'fonction'=> $fonction));
$nbTot = $jeu->rowCount();
$jeu->closeCursor();
return $nbTot;

}

Code d'appel de la requete :
public function controleForm() {
$this->load->library('form_validation');

$this->form_validation->set_rules('txtNom', 'Nom du contact', 'required');

if ($this->form_validation->run() == FALSE) {
$this->ajouterContact();
}
else {

$numOrga = $this->input->post('orgas');
$civ = $this->input->post('civ');
$prenom = $this->input->post('txtPrenom');
$nom = $this->input->post('txtNom');
$email = $this->input->post('txtEmail');
$tel = $this->input->post('txtTel');
$fonction = $this->input->post('txtFonction');

$nbTotal = $this->mOrga->inserContact($numOrga,$civ,$prenom,$nom,$email,$tel,$fonction);

if ($nbTotal == 1) {

redirect("gererContacts/listerContacts");
}
else {
redirect("gererContacts/ajouterContact");
}

}
}

ViPHP
xTG
ViPHP | 7331 Messages

26 nov. 2013, 19:17

Actives la gestion d'erreur de PDO.
Sinon c'est chercher une aiguille dans une botte de foin. :)
http://us3.php.net/manual/fr/pdo.error-handling.php