Heim  >  Fragen und Antworten  >  Hauptteil

PHP-Frage: Problem beim Konvertieren des PDO-Spaltenwerts in einen String

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"
   }
  ]

P粉403804844P粉403804844172 Tage vor397

Antworte allen(1)Ich werde antworten

  • P粉979586159

    P粉9795861592024-04-03 20:33:20

    您可以尝试一下,ATTR_STRINGIFY_FETCHES

    $pdoConnect->setAttribute(PDO::ATTR_STRINGIFY_FETCHES, true);

    参考:https://www.php.net/manual/en /pdo.setattribute.php

    phpfiddle

    Antwort
    0
  • StornierenAntwort