Pada asasnya, saya menggunakan pdo untuk menjalankan pertanyaan berikut dan memformatkan hasil ke dalam JSON. Masalahnya ialah saya memerlukan column2 untuk sentiasa muncul sebagai rentetan dalam JSON, walaupun nilainya ialah nombor, tanpa memformat semula nilai lajur yang lain, jadi saya cuba melakukan gelung for untuk menukar menggunakan 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); ?>
Respons JSON semasa:
[ { "column1": "tree", "column2": 29012, "column3": "foggy" }, { "column1": "tree", "column2": 00930239, "column3": "sunny" }, { "column1": "tree", "column2": 203943, "column3": "rainy" } ]
Respons JSON yang ideal:
[ { "column1": "tree", "column2": "29012", "column3": "foggy" }, { "column1": "tree", "column2": "00930239", "column3": "sunny" }, { "column1": "tree", "column2": "203943", "column3": "rainy" } ]
Boleh cuba,
ATTR_STRINGIFY_FETCHES
Rujukan: https://www.php.net/manual/en /pdo.setattribute.php
phpfiddle