La figure 3 contient un fragment de code qui illustre l'extraction et le traitement d'un jeu de résultats. Le code préparatoire, non montré ici, est semblable au code de la figure 2. Cependant, dans ce cas, SQL renvoie à un jeu de résultats dans la variable $sqlResult.
Associer les jeux de résultats aux matrices
Votre prochaine tâche consiste à extraire l'information de colonne (champ). Là encore, PHP simplifie les choses. Quand PHP extrait un jeu de résultats (de DB2 for i ou d'une autre base de données), vous pouvez utiliser la fonction db2_fetch_assoc (qui fait partie de l'extension DB2) pour associer chaque ligne à une matrice d'éléments nommés, appelée matrice associative en PHP ($row dans cet exemple). Vous verrez souvent $row utilisé dans l'exemple de code PHP, mais le nom de variable n'a pas de signification propre.
Les index vers la matrice associative sont les noms de colonne du jeu de résultats, qui correspondent presque toujours aux noms de champs dans les données DB2 for i sousjacentes (des exceptions sont possibles si vous attribuez un nom de corrélation dans votre SQL, par exemple). Ainsi, vous pouvez accéder à un champ individuel en utilisant le nom de champ DB2 for i comme un index vers la matrice du jeu de résultats ($row dans ce cas). Bien que l'idée d'un index de matrice nommée plutôt que numérique puisse sembler étrange à première vue, vous apprécierez rapidement sa polyvalence. En fait, c'est un peu comme travailleravec une structure de données RPG. Comme PHP a pris soin d'associer les noms de champs de DB2 for i aux clés de matrice, vous pouvez facilement traiter chaque ligne de ce jeu de résultats au moyen d’une boucle while. À ce stade, vous pouvez manipuler les éléments de matrice directement ou en copier certains pour en faire des variables PHP individuelles, comme dans la figure 3. L'usage futur des données déterminera le choix de l'approche. Quoi que vous fassiez avec les données, PHP facilite le traitement des jeux de résultats.
Figure 3
$sqlSelection = “Select * from $FileName where CusState = ‘$selectState’”;
$sqlResult = db2_exec($SystemiConnection, $sqlSelection);
if ($sqlResult) {
while ($row = db2_fetch_assoc($sqlResult)) {
$customerLastName = $row[‘CUSLNAME’];
$customerFirstName = $row[‘CUSFNAME’];
}
}
Téléchargez cette ressource
Microsoft 365 Tenant Resilience
Face aux failles de résilience des tenants M365 (configurations, privilèges, sauvegarde). Découvrez 5 piliers pour durcir, segmenter et surveiller vos environnements afin de limiter l’impact des attaques. Prioriser vos chantiers cyber et améliorer la résilience de vos tenants Microsoft 365.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Ready For IT 2026 : quand l’accélération de l’innovation redessine les priorités des décideurs IT
- Microsoft Build 2026 : industrialiser l’IA agentique dans les environnements d’entreprise
- IA et souveraineté des données : les entreprises françaises redéfinissent les infrastructures IT
Articles les + lus
Computex 2026 : 5 signaux forts à retenir
La chaîne d’approvisionnement, point de rupture récurent du SI
Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
Analyse Patch Tuesday Mai 2026
À la une de la chaîne Tech
- Computex 2026 : 5 signaux forts à retenir
- La chaîne d’approvisionnement, point de rupture récurent du SI
- Microsoft Build 2026 : contre-offensive des modèles maison face à OpenAI et Anthropic
- Rhea1 : SiPearl allume le CPU européen le plus ambitieux pour le HPC et l’IA souveraine
- Analyse Patch Tuesday Mai 2026
