dounianji7883 2016-01-27 13:00
浏览 103
已采纳

空json_encode

below PHP code. It makes a query on the database, puts the data into an array , and then try to pass it to json and print these same data.

The problem is that the print is coming out empty. Using print_r I can print the data from the array, but when I pass the data to json , the return is null. How can I fix this?

<?php        
    $user = "root";
    $password = "";
    $db = "angulardb";
    $host = "localhost";
    $con = mysqli_connect("localhost", $user, $password, $db);

    if (mysqli_connect_errno()){
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

    $usuario = mysqli_query($con, "SELECT *  FROM users");

    if (!$usuario) {
        echo "Não foi possível executar a consulta no banco de dados: " . mysql_error();
        exit;

    }

    $return = array();

    while ($dados = mysqli_fetch_assoc($usuario)) {
        $return[] = $dados;

    }
    header('Content-Type: application/json');   
    echo json_encode($return);

?>

Database:

CREATE TABLE IF NOT EXISTS `users` (
  `id` int(6) NOT NULL AUTO_INCREMENT,
  `nome` varchar(50) NOT NULL,
  `email` varchar(50) NOT NULL,
  `pass` varchar(50) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;

INSERT INTO `users` (`id`, `nome`, `email`, `pass`) VALUES
(2, 'João Silva', 'joao.silva@angular.com', '123456'),
(3, 'Mario de Almeida', 'mario.almeida@angular.com', '123456');
  • 写回答

2条回答 默认 最新

  • dpxua26604 2016-01-27 19:09
    关注

    Problem solved. Apparently the error was in the collation of the database . The bank was like latin, moved to utf8 and functioned normally . thank you

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)
  • ¥50 mac mini外接显示器 画质字体模糊
  • ¥15 TLS1.2协议通信解密
  • ¥40 图书信息管理系统程序编写
  • ¥20 Qcustomplot缩小曲线形状问题
  • ¥15 企业资源规划ERP沙盘模拟