Im Wesentlichen verwende ich pdo, um die folgende Abfrage auszuführen und die Ergebnisse in JSON zu formatieren. Das Problem besteht darin, dass Spalte2 immer als Zeichenfolge in JSON angezeigt werden muss, auch wenn der Wert eine Zahl ist, ohne die anderen Spaltenwerte neu zu formatieren. Deshalb versuche ich, eine for-Schleife zur Konvertierung mithilfe von strvalue durchzuführen.
$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); ?>
Aktuelle JSON-Antwort:
[ { "column1": "tree", "column2": 29012, "column3": "foggy" }, { "column1": "tree", "column2": 00930239, "column3": "sunny" }, { "column1": "tree", "column2": 203943, "column3": "rainy" } ]
Ideale JSON-Antwort:
[ { "column1": "tree", "column2": "29012", "column3": "foggy" }, { "column1": "tree", "column2": "00930239", "column3": "sunny" }, { "column1": "tree", "column2": "203943", "column3": "rainy" } ]
您可以尝试一下,
ATTR_STRINGIFY_FETCHES
参考:https://www.php.net/manual/en /pdo.setattribute.php
phpfiddle