【发布时间】:2014-01-14 17:16:19
【问题描述】:
我的 php 文件有问题。我想为我的气象站的最新值创建一个 JSON 结果。如果我运行该文件,它会说没有可用的数据。 但是如果我在 phpmyadmin 执行相同的请求,它会显示最新的数据。谁能帮帮我:
这里是php文件:
<?php
header('Content-Type: application/json');
include ("dbData.php");
$query = "
SELECT datumzeit
, tempInnen
, tempAussen
, feuchteInnen
, feuchteAussen
, luftdruck
FROM wetterdaten
ORDER
BY datumzeit DESC
LIMIT 1;
";
$q_data = mysql_query($query) or die(mysql_error());
if(mysql_num_rows($q_data) > 0)
{
$r_data = mysql_fetch_array($q_data);
$DATUM = $r_data['datumzeit'];
$tempInnen = number_format($r_data['tempInnen'], 2, '.', '');
$tempAussen = number_format($r_data['tempAussen'], 2, '.', '');
$feuchteInnen = number_format($r_data['feuchteInnen'], 2, '.', '');
$feuchteAussen = number_format($r_data['feuchteAussen'], 2, '.', '');
$luftdruck = number_format($r_data['luftdruck'], 2, '.', '');
}
else
{
$E = 1;
$M = "Do Data available.";
}
if(!isset($E))
{
?>
{
"wetterstation": [{
"TempInnen": "<?php echo $tempInnen;?>",
"TempAussen": "<?php echo $tempAussen;?>",
"feuchteInnen": "<?php echo $feuchteInnen;?>",
"feuchteAussen": "<?php echo $feuchteAussen;?>",
"luftdruck": "<?php echo $luftdruck;?>"
]}
}
<?php
}
else
{
echo $M;
}
?>
编辑
已解决:
我改变后:
$q_data = mysql_query("SELECT datumzeit, tempInnen, tempAussen, feuchteInnen,feuchteAussen,luftdruck FROM wetterdaten ORDER BY datumzeit DESC LIMIT 1;")or die mysql:error());
到:
$query = "
SELECT datumzeit
, tempInnen
, tempAussen
, feuchteInnen
, feuchteAussen
, luftdruck
FROM wetterdaten
ORDER
BY datumzeit DESC
LIMIT 1;
";
$q_data = mysql_query($query) or die(mysql_error());
【问题讨论】:
-
我猜它不应该是你的查询末尾的分号 - ` ...LIMIT 1;` ,只是
LIMIT 1。 -
您不应该手动生成 json,只需将所有内容转储到数组中并使用
echo json_encode($your_array)。 -
它在复制此线程中的代码时删除了 ORDERED BY
-
请不要使用已弃用的函数 (mysql_)
-
你需要做一些基本的调试,比如一些
var_dump()在相关变量的不同阶段。