2011-05-14 27 views
-2

IM在PHPJSON不outputing

while ($row = mysql_fetch_array($result)) 
{ 
    $arr = array("joke" => $row['joke'], "date" => $row['date'], "rating" => $row['rating']);  
    echo json_encode($arr); 

} 

运行此代码,但没有输出。我正在运行php 5.3.6

有什么想法吗?

+0

我们需要更多的信息来帮助您;那个代码本身(如果你定义了'$ row'的话)应该可以工作。 – icktoofay 2011-05-14 21:36:17

+0

我认为它的obvs ...做出了改变。 – SuperString 2011-05-14 21:38:34

+0

SQL查询不会返回任何内容。此外,您无法在循环中输出多个JSON片段。这将最终成为无效的序列化。 – mario 2011-05-14 21:40:09

回答

0

nvm我想通了。要做到这一点的方法是使用sql2json

0

很可能是您的查询失败。无论是由于语法错误还是只是不匹配任何东西。重做你的代码,以便它看起来是这样的:

$sql = "..."; 
$result = mysql_query($sql) or die(mysql_error()); 

$data = array(); 
while($row = mysql_fetch_assoc($result)) { 
    $data[] = $row; 
} 

echo json_encode($data); 

or die部分将处理的情况下,当查询的不好,会导致错误。将$ data设置为一个空数组最初可确保您将SOMETHING移出json_encode,即使它只是一个空的javascript数组。然后while循环将查询结果和东西吸入到$ data数组中。