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

État des lieux de la réponse à incident de cybersécurité
Les experts de Palo Alto Networks, Unit 42 et Forrester Research livrent dans ce webinaire exclusif leurs éclairages et stratégies en matière de réponses aux incidents. Bénéficiez d'un panorama complet du paysage actuel de la réponse aux incidents et de sa relation avec la continuité de l'activité, des défis auxquels font face les entreprises et des tendances majeures qui modèlent ce domaine. Un état des lieux précieux pour les décideurs et professionnels IT.
Les articles les plus consultés
- Partager vos images, vidéos, musique et imprimante avec le Groupe résidentiel
- N° 2 : Il faut supporter des langues multiples dans SharePoint Portal Server
- Afficher les icônes cachées dans la barre de notification
- Les 6 étapes vers un diagnostic réussi
- Activer la mise en veille prolongée dans Windows 10