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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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