Essentiellement, j'utilise pdo pour exécuter la requête suivante et formater les résultats en JSON. Le problème est que j'ai besoin que column2 apparaisse toujours sous forme de chaîne dans JSON, même si la valeur est un nombre, sans reformater les autres valeurs de colonne, j'essaie donc de faire une boucle for pour convertir en utilisant strvalue.
$stmt = $pdoConnect->prepare(' SELECT column1, column2, column3 from table1 where column1 = "tree" '); $stmt->execute([]); $row = $stmt->fetchAll(PDO::FETCH_ASSOC); foreach ($row as $rowvalue) { strval($rowvalue["column2"]); } echo json_encode($row); ?>
Réponse JSON actuelle :
[ { "column1": "tree", "column2": 29012, "column3": "foggy" }, { "column1": "tree", "column2": 00930239, "column3": "sunny" }, { "column1": "tree", "column2": 203943, "column3": "rainy" } ]
Réponse JSON idéale :
[ { "column1": "tree", "column2": "29012", "column3": "foggy" }, { "column1": "tree", "column2": "00930239", "column3": "sunny" }, { "column1": "tree", "column2": "203943", "column3": "rainy" } ]
Vous pouvez l'essayer,
ATTR_STRINGIFY_FETCHES
Référence : https://www.php.net/manual/en /pdo.setattribute.php
phpfiddle