0

我试图使用 dojo ajax 函数来调用 PHP 文件,然后以 JSON 格式返回数据库表的内容。

我的功能:

 var _getWeatherInfo = function(){
     dojo.xhrget({

         url: "PHP/weather.php?ntown=" + _ntown,

         handleAs: "json",
         timeout: 5000,

         load: function(responce, details) {
            _updateWeathertData 
         },          
         error: function(error_msg, details) {
             _handleError(error_msg);
         }
     });
 }

我的PHP:

<?php include('configHome.php'); ?>

<?php
    $ntown = $_GET['ntown'];

    $weather = array();

    $query="SELECT * FROM `weather` WHERE `town` = '$ntown'";
    $result=mysql_query($query);

    while($row = mysql_fetch_row($result)) {

        $weather[] = $row[0];
    } 

    echo json_encode($weather);

    mysql_close();
?>

使用此代码时,我收到一条错误消息,提示“$ntown = $_GET['ntown'];” 是一个未定义的索引。我尝试将索引全部删除并在选择语句中使用实际值(即 SELECT * FROM weatherWHERE town= 'Auckland'),但我得到的只是我输入的值 ["Auckland"],而不是其他 3 个值是要返回的,["Auckland", "Sunny", "8", "14"]。

有任何想法吗?如果需要,我可以尝试添加更多信息。谢谢!

4

1 回答 1

0

您的代码还有其他一些问题,但要解决您要问的问题。你有这个:

while($row = mysql_fetch_row($result)) {
    $weather[] = $row[0];
}

您所做的只是获取该行的第一个值(其中可能只有一个,然后将其发送回去。这就是您需要的:

$weather = mysql_fetch_row($result);
于 2013-03-25T21:14:52.047 回答