PHP MySQL Obligation de fermer et de ré-ouvrir la connexion entre deux requêtes
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 :
Code:
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']); |
Ensuite voici ma première requête :
Code:
1 2 3
|
$sql = 'CALL param_session(1)';
$ret_param_divers = $conn->query($sql); |
Elle appelle une procédure stockée dans la base de données qui s'écrit comme suit :
Code:
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
| |
Évidemment je vous épargne toutes mes routines de vérification d'erreur.
Ensuite je dois fermer ma connexion et la ré-ouvrir pour pouvoir faire ma deuxième requête qui s'écrit comme suit :
Code:
1 2 3
|
$sql = 'CALL valid_login(' . chr(34) . $id_utilisateur . chr(34) . ')';
$ret_utilisateurs = $conn->query($sql); |
Elle appelle une procédure stockée dans la base de données qui s'écrit comme suit :
Code:
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
| |
Alors rien de bien sorcier, mais je ne réussi pas à cerner le problème.
Quelqu'un aurait une idée ou une piste de solution ?
Merci à l'avance ! :arf: