亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從 PDO 查詢創建 JSON - PHP

從 PDO 查詢創建 JSON - PHP

PHP
呼如林 2023-06-24 17:47:28
我在 MySQL 數據庫中有一個存儲過程,它執行類似的查詢"SELECT * FROM table"并返回這些行。我想用這些信息創建一個 JSON,我該怎么做?這是我的代碼:主要的<?php include "config.php"; include "utils.php"; $dbConn =  connect($db); if ($_SERVER['REQUEST_METHOD'] == 'GET'){   $sth = $dbConn->prepare("CALL consulta_administrador()");   $sth->execute();   $result = $sth->fetchAll();   var_dump($result);   echo json_encode($result);}?>配置文件<?php  $db = [  'host' => 'myDBHost',  'username' => 'myUsername',  'password' => 'myPassword',  'db' => 'myDB'   ];?>實用程序.php<?php function connect($db){  try {      $conn = new PDO("mysql:host={$db['host']};dbname={$db['db']}", $db['username'], $db['password']);      $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);            return $conn;  } catch (PDOException $exception) {      echo "Error:" , $exception->getMessage(), '<br>';      die();  }}?>
查看完整描述

2 回答

?
茅侃侃

TA貢獻1842條經驗 獲得超21個贊

你可以這樣做:


<?php

$pdo = new PDO("mysql:dbname=database;host=127.0.0.1", "user", "password");

$statement = $pdo->prepare("SELECT * FROM table");

$statement->execute();

$results = $statement->fetchAll(PDO::FETCH_ASSOC);

$json = json_encode($results);

編輯:假設您已連接到數據庫:


if ($_SERVER['REQUEST_METHOD'] == 'GET'){

  $pdo = new PDO("mysql:host={$db['host']};dbname={$db['db']}", $db['username'], $db['password']);

  $sql = $pdo->prepare("CALL consulta administratdor()";

  $sql->execute();

  $results = $statement->fetchALL(PDO::FETCH_ASSOC);

  $json = json_encode($results);

}

  


查看完整回答
反對 回復 2023-06-24
?
繁星淼淼

TA貢獻1775條經驗 獲得超11個贊

我得到了問題的解決方案,問題是在我的數據庫中我有json_encode函數無法理解的特殊字符,為了解決它,請將此行聚合到我的代碼中$dbConn->query("SET NAMES 'UTF8'");:


$dbConn =  connect($db);

$dbConn->query("SET NAMES 'UTF8'");


if ($_SERVER['REQUEST_METHOD'] == 'GET'){

    $sql = "CALL consulta_administrador()";

    $q = $dbConn->query($sql);

    $data = $q->fetchAll(PDO::FETCH_ASSOC);

    echo json_encode($data, JSON_UNESCAPED_UNICODE);

}


查看完整回答
反對 回復 2023-06-24
  • 2 回答
  • 0 關注
  • 161 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號