【问题标题】:Can't echo using json_encode无法使用 json_encode 回显
【发布时间】:2017-07-03 22:18:05
【问题描述】:

我无法在第 23 行回显 $arreglo,屏幕是空白的。我正在尝试 json 编码,但我不知道为什么不起作用。我检查了conexion,没问题...

<?php

include ("conexion.php");

$query = "SELECT * FROM usuario WHERE estado = 1 ORDER BY idusuario desc;";
$resultado = mysqli_query($conexion, $query);

if (!$resultado)
{
    die("error");
} 
else
{

    while($data = mysqli_fetch_assoc($resultado))
    {
        //echo $arreglo["data"][]=array_map("utf8_encode", $data);
     $arreglo["data"][] = $data;

    }


    echo json_encode($arreglo);


    mysqli_free_result($resultado);
    mysqli_close($conexion);
}

?>

【问题讨论】:

  • 你得到任何结果了吗?为什么不先var_dump 你的结果集来确定。
  • 打开错误,它会告诉你哪里出了问题。空白屏幕几乎总是意味着有错误。
  • ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);
  • var_dump($arreglo) 返回数据:array(1) { ["data"]=> array(14) { [0]=> array(5) { ["idusuario"]= > string(2) "22" ["nombre"]=> string(6) "Carlos" ["apellidos"]=> string(6) "�valos" ["dni"]=> string(8) "26859103 " ["estado"]=> 字符串(18) "650840532079083521" } [1]=> 数组(5) { ["idusuario"]=> 字符串(2) "21" ["nombre"]=> 字符串(5 ) "Marco" ["apellidos"]=> string(7) "Cordova" ["dni"]=> string(8) "46851298" ["estado"]=> string(18) "650840875676467201" } [2] => array(5) { ["idusuario"]=> string(2) "20" ["nombre"]=> string(7) "Violeta" ["apellidos"]=> string(6)...

标签: php json ajax


【解决方案1】:

你需要在 echo 之前使用 header。检查代码。

header('Content-type: application/json');
echo json_encode($arreglo);

【讨论】:

  • @SwitchCase 嗨,请检查this stackoverflow 的答案,它在 json 标头后使用 echo。
猜你喜欢
  • 2015-07-04
  • 2016-10-23
  • 2014-01-30
  • 1970-01-01
  • 2013-02-10
  • 2012-10-17
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多