为了账号安全,请及时绑定邮箱和手机立即绑定

从 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 关注
  • 95 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信