Bonjour,
J'ai un problème de fonctionnement absurde avec mes requête SQL.
Mon environnement :
Windows 10, version 1067
Apache 2.4.23
PHP 7.0.10
MySQL 5.7.14
Je me connecte facilement, sans erreur, à ma base de données comme suit :
Ensuite voici ma première requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 $_SESSION['nom_serveur'] // localhost // nom du serveur $_SESSION['id_serveur'] // root // id de l'utilisateur du serveur $_SESSION['passe_serveur'] // a // mot de passe de l'utilisateur du serveur $_SESSION['nom_bdd'] // gch_jdb // nom de la base de données $conn = new mysqli($_SESSION['nom_serveur'], $_SESSION['id_serveur'], $_SESSION['passe_serveur'], $_SESSION['nom_bdd']);
Elle appelle une procédure stockée dans la base de données qui s'écrit comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $sql = 'CALL param_session(1)'; $ret_param_divers = $conn->query($sql);
Évidemment je vous épargne toutes mes routines de vérification d'erreur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 DELIMITER | DROP PROCEDURE IF EXISTS param_session | CREATE PROCEDURE param_session(IN vid INT(1)) READS SQL DATA BEGIN SELECT * FROM param_divers WHERE id = vid; END |
Ensuite je dois fermer ma connexion et la ré-ouvrir pour pouvoir faire ma deuxième requête qui s'écrit comme suit :
Elle appelle une procédure stockée dans la base de données qui s'écrit comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 $sql = 'CALL valid_login(' . chr(34) . $id_utilisateur . chr(34) . ')'; $ret_utilisateurs = $conn->query($sql);
Alors rien de bien sorcier, mais je ne réussi pas à cerner le problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 DELIMITER | DROP PROCEDURE IF EXISTS valid_login | CREATE PROCEDURE valid_login(IN vid_utilisateur VARCHAR(30) CHARSET utf8) READS SQL DATA BEGIN SELECT * FROM utilisateurs WHERE identifiant = vid_utilisateur; END |
Quelqu'un aurait une idée ou une piste de solution ?
Merci à l'avance !![]()
Partager