php返回空的JSON数组
php returns empty JSON array
我为城镇名称"Auckland"answers"Hamilton"创建了一个数组,但php的响应总是空的,知道吗?
更新:经过调试,我发现问题出在php查询中"where town='$town'",一旦我删除了这行,其余的都很好。但我仍然不明白为什么:<
javascript:
var _addNewTowntoList = function(){
if (_request.readyState == 4) {
if (_request.status == 200) {
var data = JSON.parse(_request.responseText);
if(data.length == 0){
alert("No such town");
return;
}
var t = data[0].town;
var o = data[0].outlook;
var min = data[0].min_temp;
var max = data[0].max_temp;
var witem = new WLine(t,o,min,max);
console.log(t+" "+o+" "+min+" "+max);
_list.push(witem);
}
}
}
这是php
$town = $POST_['town'];
$query = "Select * From weather WHERE town = '$town'";
$result = mysqli_query($conn, $query);
//create array for data
$data = array();
while($row = mysqli_fetch_assoc($result))
{
$data[] = $row;
}
echo json_encode($data);
更改此
$town = $POST_['town'];
> $query = "Select * From weather WHERE town = '$town'";
至
$town = $_POST['town'];
$query = "Select * From weather WHERE town = '".$town."'";
记住正确转义查询字符串
$town = mysqli_real_escape_strin($conn, $_POST['town']);
因为否则您的脚本将被打开以进行SQL注入攻击
除了$_POST
的正确名称之外,这里要提到的另一件事是,您可以使用mysqli_fetch_all
函数一次获取所有结果,从而避免循环。例如
echo json_encode(mysqli_fetch_all($result, MYSQLI_ASSOC));
相关文章:
- 需要帮助设置json数组
- 如何使用 node.js 比较两个 json 数组
- 根据id将json数组组合为一个json数组
- 如何创建JSON数组
- 如何将package.json数组传递给grunt.js
- 访问json数组中的对象
- JSON数组数据返回Undefined
- 如何向JSON数组动态添加属性
- 如何从json数组中获取特定值
- 从多维嵌套json数组创建下拉列表
- 在ListView中添加JSON数组中存储的图像-ReactNative
- jquery在json数组中循环
- 将 JSON 数组解析为 JavaScript 数组
- 如何在php中读取没有任何键的JSON数组
- 如何在Jquery中迭代JSON数组
- 如何在cycle js中从JSON数组创建组件
- 如何使用jquery返回php-json数组对象
- JSON数组转换为JS对象数组
- 使用System从C#集合创建JSON数组.网状物剧本序列化
- 使用Underscore.js修改json数组中所选元素的更有效方法