Php 在单行中返回值时

Php 在单行中返回值时,php,ajax,Php,Ajax,我使用ajax并通过以下方法返回值 $query = mysql_query("SELECT DISTINCT * FROM symptom WHERE symptom LIKE '%$key%'")or die('couldnt select'); while(($row = mysql_fetch_array($query))!=false){ echo $row['disease']; } 但是在ajax函数中收到的结果显示如下 streppneumonia 而不是

我使用ajax并通过以下方法返回值

$query = mysql_query("SELECT DISTINCT * FROM symptom WHERE symptom LIKE '%$key%'")or die('couldnt select');
while(($row = mysql_fetch_array($query))!=false){

    echo $row['disease'];

}   
但是在ajax函数中收到的结果显示如下

streppneumonia
而不是

strep
pneumonia
我做错了什么?我就是搞不懂这里的问题

快速修复:echo$row['disease']

虽然您的web服务应该以更好的格式返回数据,比如JSON,并且从那里您应该使用javascript来分解数据。

试试看

echo $row['disease'].'<br />';

使用ajax并返回多个值时,请以以下格式发送。虽然可以在客户端使用break标记断开,但无法区分多个值:

<?php
$query = mysql_query("SELECT DISTINCT * FROM symptom WHERE symptom LIKE '%$key%'")or die('couldnt select');
while(($row = mysql_fetch_array($query))!=false){

    $diseases[] =  $row['disease'];

} 

echo json_encode($diseases);

?>
稍后,在客户端通过js解码

while(($row = mysql_fetch_array($query))){

    echo $row['disease'].'<br>';

} 


mysql_*函数已弃用,请使用PDO或MySQLifalse在PHP这样的语言中并没有太大作用。您可能想试试!==“错!”瓦利德==false也不起作用。。。我在其他地方也做了同样的事情,它在那里像一个魔咒一样工作,但现在不起作用。我现在得到的结果是[strep,pneumonia],在执行jQuery.parseJSONresult时,javascript中仍然给出[strep,pneumonia]。如何正确解码它?var arr=jQuery.parseJSONresult;[链球菌,肺炎]只说了一个数组。因此,arr[0]=>将给出u strep,arr[1]=>。。。
while(($row = mysql_fetch_array($query))){

    echo $row['disease'].'<br>';

}