Dans Node-webkit, lors de l'interrogation d'une base de données MySQL, vous pouvez rencontrer des cas où les résultats sont stockés dans un objet RowDataPacket. Cet article explique comment accéder aux données de cet objet et les récupérer.
Comme mentionné dans la question, l'objet RowDataPacket est généralement renvoyé sous la forme d'un tableau d'objets :
RowDataPacket {user_id: 101, ActionsPerformed: 20} RowDataPacket {user_id: 102, ActionsPerformed: 110} RowDataPacket {user_id: 104, ActionsPerformed: 3}
Chaque objet du tableau représente une ligne de données de la base de données. Les clés d'objet correspondent aux noms de colonnes, tandis que les valeurs correspondent aux données de ces colonnes.
L'idée clé est que RowDataPacket est simplement une fonction constructeur qui crée des objets normaux . Vous pouvez accéder aux propriétés de l'objet en utilisant la notation par points. Par exemple, pour récupérer la valeur user_id du premier résultat, vous utiliserez :
row[0].user_id
où row est le tableau contenant les objets RowDataPacket.
Le constructeur RowDataPacket n'expose pas de moyen direct pour récupérer les clés des objets (noms de colonnes). Cependant, vous pouvez y accéder en utilisant l'approche suivante :
const keys = Object.keys(row[0]);
Cela renverra un tableau de chaînes contenant les noms de colonnes.
Combinant les techniques ci-dessus, vous pouvez récupérer à la fois les valeurs et les clés de l'objet RowDataPacket comme suit :
for (const row of data) { const user_id = row.user_id; const actionsPerformed = row.ActionsPerformed; const keys = Object.keys(row); }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!