2013-03-25 68 views
0

我试图使用dojo ajax函数调用一个PHP文件,然后以JSON格式返回一个数据库表的内容。我的dojo ajax php请求出错

我的功能:

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语句中的实际值(即SELECT * FROM weather WHERE town ='Auckland'),但我回来的是我输入的值[“Auckland”],而不是3其他意味着要返回的值,[“奥克兰”,“晴天”,“8”,“14”]。

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

回答

0

您的代码还存在其他一些问题,但要找到您提问的那个问题。你有这样的:

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

你在做什么只是走行(其中大概只有一个,只是发送该回的第一个值。这是你所需要的:

$weather = mysql_fetch_row($result); 
+0

我试过了,现在所有返回的都是“假” – Corey 2013-03-25 21:22:34