Javascript MySQL:SUM(column)在使用JSON解析时总是返回null
我试图检索一列的和,并用JSON解析它 要检索我使用的总和,请执行以下操作:Javascript MySQL:SUM(column)在使用JSON解析时总是返回null,javascript,jquery,mysql,parsing,sum,Javascript,Jquery,Mysql,Parsing,Sum,我试图检索一列的和,并用JSON解析它 要检索我使用的总和,请执行以下操作: SELECT SUM(price) FROM `Fuelconsumption` WHERE `date` like '%09-2012%' 当我直接在SQL Server中使用这个命令时,我会得到一个数字结果,当我试图通过JSON解析它时,它不起作用 以下是我的JSON和PHP代码: case 'getstats': $query="SELECT SUM(price) FR
SELECT SUM(price) FROM `Fuelconsumption` WHERE `date` like '%09-2012%'
当我直接在SQL Server中使用这个命令时,我会得到一个数字结果,当我试图通过JSON解析它时,它不起作用
以下是我的JSON和PHP代码:
case 'getstats':
$query="SELECT SUM(price) FROM `Fuelconsumption` WHERE `date` like '%09-2012%'";
$result = mysql_query($query);
$json = array();
while($row = mysql_fetch_array($result))
{
$json['price']=$row['price'];
}
print json_encode($json);
mysql_close();
break;
这是我的JS:
xmlhttp = new XMLHttpRequest()
xmlhttp.onreadystatechange = function () {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
var jsontext = xmlhttp.responseText;
var json = JSON.parse(jsontext);
console.log(jsontext)
}
}
xmlhttp.open("GET", "mysql.php?p=getstats" + "&date=09-2012", true);
xmlhttp.send();
试一试
而不是
$query="SELECT SUM(price) FROM `Fuelconsumption` WHERE `date` like '%09-2012%'";
另外,当您的名字是jQuerybeast时,为什么要使用普通Javascript而不是jQuery来创建Ajax请求P
尝试将查询更改为:
SELECT SUM(price) price
FROM `Fuelconsumption`
WHERE `date` like '%09-2012%'
这是因为coulmn for sum of price不会在$row中命名为price,而是sum(price)。如果要确定名称,请使用更改SQL以将别名更改为:
SELECT SUM(price) AS sum_of_price FROM `Fuelconsumption` WHERE `date` like '%09-2012%'
然后将其用作
$row['sum\u of u price']
尝试将查询更改为选择sum(price)作为sum\u price
而不是尝试以下查询:从'Fuelconsumption'中选择sum('price')作为'price',其中'date类似于'%09-2012%'
。我相信这已经解决了。不过,在将来,您可以使用var_dump($json)
;据我所知,您应该使用AS
来创建别名。不,在mysql上,您可以使用隐式别名,而无需提供AS
:)
SELECT SUM(price) AS sum_of_price FROM `Fuelconsumption` WHERE `date` like '%09-2012%'