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
Comment lutter contre le Phishing ?
Dans un environnement cyber en constante mutation, le phishing évolue vers des attaques toujours plus sophistiquées combinant IA, automatisation et industrialisation. Une réalité complexe qui exige des mesures de sécurité avancées et repensées au-delà de l’authentification multifacteur. Découvrez les réponses technologiques préconisées par les experts Eviden et les perspectives associées à leur mise en œuvre.