2017-05-08 95 views
1

我在PHP和MySQL中是全新的,但我需要为明天做出快速项目。我不知道在哪里可以找到我的问题的解决方案,因为我对这种语言不够了解。PHP - 来自MySQL数据库的JSON响应

我会很高兴,如果有人可以帮助我,找到为什么我的代码后得到空白页:

<?php 
$servername = "xyz.xyz"; 
$username = "123"; 
$password = "123"; 
$dbname = "123"; 

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = "SELECT `id`,`symbol`,`shortcut` FROM `Table`"; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 
    // output data of each row 
    $currencyArray = array(); 

    while($row = $result->fetch_assoc()) { 
     $currency = array($row["id"], $row["symbol"], $row["shortcut"]); 
     $currencyArray[] = $currency; 
    } 

    print json_encode($currencyArray); 
} else { 
    echo "0 results"; 
} 
$conn->close(); 
?> 

我想显示从JSON表中的所有数据与数组的数组,其中包含所有数据。现在我有空白页面。我会很高兴的帮助。

+0

您需要打开错误报告,所以你可以看到什么不工作和错误的位置。 –

+0

不知道如何做到这一点不幸。如果我认为正确:我尝试打印'$ currency'并且它可以工作,但将此对象添加到'$ currencyArray'会因某种原因失败。 – Dzeremix

+0

http://stackoverflow.com/questions/845021/how-to-get-useful-error-messages-in-php – Barmar

回答

1

尝试在您的php设置中启用error_reporting。 也许json_encode函数返回一个错误,并根据php doc返回false。这就是为什么你看到一个空白页面。

您可以使用json_last_error函数来查看哪种错误是(doc)。

也许是一个编码问题? json使用UTF-8编码。尝试调试您的代码,因为我们不会返回什么样的错误或知道您的数据是如何。

我建议你把一些标题,如果你打印出一个JSON字符串:

header("Content-type: application/json;charset=utf-8"); 
echo json_encode($array);