Donc, je suis en train d'exécuter une requête à l'aide d'une transaction, mais il ne fonctionne pas en quelque sorte j'ai vérifié tous les postes, mais pas de solution semble fonctionner! chaque fois que je supprime la transaction la requête d'insertion fonctionne très bien.
Voici le contrôleur:
public function addEmployee(){
$field = array(
'NomClient'=>$this->input->post('fullName'),
'TelClient'=>$this->input->post('tel'),
'WilayaClient'=>$this->input->post('wilaya'),
'CommuneClient'=>$this->input->post('commune'),
'AdresseClient'=>$this->input->post('adresse'),
'StatusID'=>$this->input->post('statusCommande'),
'TelevendeuseID'=>$this->input->post('televendeuse')
);
$result= $this->m->addEmployee($field);
$msg['success'] = false;
$msg['type'] = 'add';
if($result){
$msg['success'] = true;
}
echo json_encode($msg);
}
Mon modele :
public function addEmployee($field){
$this->db->trans_start();
return $this->db->insert('Clients',$field);
$this->db->trans_complete();
}
S'il vous plaît noter que lorsque je passe le modèle:
public function addEmployee($field){
return $this->db->insert('Clients',$field);
}
L'enregistrement est insérée avec succès! Ce qui signifie que quelque chose ne va pas avec la transaction. J'utilise actuellement une requête pour tester si elle fonctionne donc je peux utiliser après multiples onces. Notez que les tables sont des tables InnoDB si le problème est pas avec le type de table. Sil te plait aide moi !
Lorsque vous appelez return
cela mettra fin à la fonction, alors quand il frappe
return $this->db->insert('Clients',$field);
il ne sera pas à
$this->db->trans_complete();
alors peut être...
$this->db->trans_start();
$return = $this->db->insert('Clients',$field);
$this->db->trans_complete();
return $return;