Php 基于数据库生成简单JSON文件

Php 基于数据库生成简单JSON文件,php,Php,嘿,我是iOS开发者,我正在尝试从我的网站创建简单的JSON输出。我发现了一个好的开始,下面是一些如何做到这一点的解释 因此,我创建了accounts.php文件,并将其放在我的公共html文件夹中 <?php include_once("JSON.php"); $json = new Services_JSON(); $link = mysql_pconnect("localhost", "user", "pass") or die("Could not connect"); mys

嘿,我是iOS开发者,我正在尝试从我的网站创建简单的JSON输出。我发现了一个好的开始,下面是一些如何做到这一点的解释

因此,我创建了accounts.php文件,并将其放在我的公共html文件夹中

<?php

include_once("JSON.php");
$json = new Services_JSON();

$link = mysql_pconnect("localhost", "user", "pass") or die("Could not connect");
mysql_select_db("iglobe") or die("Could not select database");

$arr = array();

$rs = mysql_query("SELECT * FROM users");
while($obj = mysql_fetch_object($rs)) {
    $arr[] = $obj;
}

Echo $json->encode($arr);

?>

当然,我使用我的用户和密码,并将刚刚创建的数据库指向我的终端

因此,当我试图请求我的文件时,http//mywebsite.com/accounts.php没有数据

我尝试使用谷歌浏览器和邮递员,所以当我切换到JSON时,它说没有收到任何响应。对于HTML,邮递员中没有任何信息

我的问题是如何测试它?即使我在include_once(“JSON.php”)之前使用Echo(123);在html页面上没有123行

我尝试仅使用以下代码测试PHP:

<?php
    phpinfo();
    ?>


它是有效的。我有PHP版本5.4.32

首先,只需使用PHP的函数
json\u encode($arr)
。它完全符合您的要求,并且几乎包含在我能想到的每个版本的PHP

另外,我不确定这是否是问题所在,但您可能希望更改
Echo
==>
Echo
。这至少是一般惯例

超级重要

最后,不要使用
mysql
扩展。它很危险,可能无法正常工作,并且存在安全漏洞。使用或。

Matrosov-

你很接近。使用json_encode函数通过PHP手册输出代码。还考虑使用MySQL代替MySQL作为数据库连接,因为它已经更好地支持了现代MySQL服务器。



我认为您的代码在到达回音之前就崩溃了。。。如果看不到123,请打开所有调试选项:
display\u errors
error\u reporting
。如果没有其他内容,即使查询完全被阻塞,也应该得到一个空的json编码数组:
[]
。因为您没有,所以脚本在echo语句之前退出。在每个命令之后添加echo,然后查看它在哪里中断。。所以$link之前的一个和$rs之前的一个是一个真正糟糕的教程。阅读评论如果你读了我的答案(我已经删除了),我必须道歉,
Echo
确实有效。哇,我越来越讨厌php了。
<?php

    include_once("JSON.php");

    $link = mysqli_connect("localhost", "user", "pass") or die("Could not connect");
    $link->mysql_select_db("iglobe") or die("Could not select database");

    $arr = array();

    $rs = mysql_query("SELECT * FROM users");
    while($obj = mysql_fetch_object($rs)) {
        $arr[] = $obj;
    }

    echo json_encode($arr);

    ?>