Bonjour,
Voila je rencontre un petit problème avec mon code.
Je veux exécuter une procedure avec SQL Server, j'ai fais ça une première fois pour tester
$conn = ConnectionManager::get('default');
/* Utilise une procédure stockée */
$matricule = 100001;
$nom = 'AMONKOU YAPO EUGENE ';
$stmt = $conn->execute('adherent :matricule, :nom', ['matricule' => $matricule, 'nom' => $nom]);
$rows = $stmt->fetch('assoc');
debug($rows);die(); ```
et j'ai pas eu de souci mais avec celui là j'ai un souci
$conn = ConnectionManager::get('default');
$numsaise = isset($this->request->query['numsaise']) ? $this->request->query('numsaise') : '';
$stmt = $conn->execute('verifbonligne :numsaise', ['numsaise' => $numsaise]);
$count = $stmt->fetch('assoc');
$this->set(compact('count'));
$this->set('_serialize', ['count']);```
je veux pouvoir recupérer le resultat de ma requête comme avec le premier code
mais la j'ai cette erreur "Error: SQLSTATE[42000]: [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]La procédure ou fonction 'verifbonligne' attend le paramètre '@numsaise', qui n'a pas été fourni."
oui elle etait null. Mais j'ai pu régler mon probleme en faisant ça
$stmt = $conn->prepare('verifbonligne @numsaise = :numsaise, @ETB_CODE = :ETB_CODE, @nb = :nb');
$stmt->execute(['numsaise' => $numsaise, 'ETB_CODE' => $ETB_CODE, 'nb' => $count]);
je rappelle que ma procédure a 3 paramètres dont 2 IN et 1 OUT.
Merci d'avoir répondu même si j'ai pu me démerder tout seul :)
Bonjour.
Le problème vient peut-être du fait que la valeur de la variable $numsaise
est peut-être vide, non ?