每次访问页面时都不会获得返回值

时间:2015-12-14 22:18:26

标签: php mysql

我正在localhost上创建一个基于PHP的webservice页面,该页面应该返回一个包含3个随机行的JSON数组。它似乎工作但并不总是。有时我需要重新加载页面2-3次才能获得它。 我的web服务将与Android一起使用,这仅适用于某些环境。 我的问题:为了在每次打开页面时获得所需内容,我的代码需要做些哪些更改? 这是代码:

<?php

$host = "localhost";
$user = "root";
$password = "";
$db = "webappdb";

$sql = "SELECT word_en, word_da, article_da FROM words WHERE cate_id='1' ORDER BY RAND() LIMIT 3";


$con = mysqli_connect($host,$user,$password,$db);

$result = mysqli_query($con,$sql);

$response = array();

while($row = mysqli_fetch_array($result))
{
    array_push($response,array("word_en"=>$row[0],"word_da"=>$row[1],"article_da"=>$row[2]));
}

echo json_encode(array("server_response"=>$response));

mysqli_close($con);

?>

1 个答案:

答案 0 :(得分:1)

Json数据只有在正确编码为utf8时才能显示。如果您正在使用可能包含äö或ü等特殊字符的数据,则需要在将输出发送到json_encode之前对输出进行utf8_encode。未正确编码的数据将导致空输出,就像您描述的那样。