Passer un tableau par return
Bonjour,
Je n'ai plus développer depuis des années et je bute depuis une heure sur une difficulté.
Je cherche à mutualiser la fonction de connexion et de requête dans un fichier à inclure.
Voici mon fichier de fonctions : la première fonction connecte à la bdd et la seconde traite un requete. Premier fichier donc connexion.php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
function connexion(){
$serveur = 'localhost';
$bdd = 'mabase';
$utilisateur = "root";
$mot_de_passe = "";
$mysqli = new mysqli($serveur, $utilisateur, $mot_de_passe, $mabase);
$mysqli->set_charset("utf8");return $mysqli;
if ($mysqli->connect_error) {
die('Erreur de connexion ('.$mysqli->connect_errno.')'. $mysqli->connect_error);
}
}
function requete ($requete, $mysqli){
$resultat = $mysqli->query($requete) or die ('Erreur '.$requete.' '.$mysqli->error);
while ($ligne = $resultat->fetch_assoc()) {
$resultats[] = $ligne;
return $resultats;
}
} |
Et voici le second fichier avec inclusion du premier. Il lance la requête et récupère les résultats (dans cette requete il doit donc récupérer 5 résultats) :
Code:
1 2 3 4 5 6 7 8 9
|
include ('connexion.php');
$mysqli=connexion();
$requete = "SELECT DISTINCT * FROM mabase limit 5";
$res=requete ($requete, $mysqli); |
___________________________________
Sauf que $res devrait être un tableau avec 5 résultats mais en fait ne renferme qu'un seul et unique résultat ! (mais $resultats est bien un tableau avec 5 résultats !).
Y a t'il une meilleure façon de faire ?
Merci de votre aide !
Olivier