我需要一些代码的帮助。我想从MySQL 选择数据到网页上的图形。 数据必须来自当前 已记录 用户 用户中,并且当我选择将数据存储到卡上可以正常工作,但是当我将其选择为图形时,图形就会消失。
我正在为卡片使用此代码,并且效果很好:
$sql = "SELECT energyexpenditure FROM energy4project WHERE user_id = '{$_SESSION["user_id"]}' ORDER BY time_stamp DESC LIMIT 1;";
这是我当前图形的代码,不不显示基于登录用户的数据:
<?php
header('Content-Type: application/json');
$host = "localhost";
$user = "`blabla";
$pwd = "blabla";
$db = "blabla";
$conn = new mysqli($host, $user, $pwd, $db);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT energyexpenditure, time_stamp FROM energy4project ORDER BY time_stamp DESC LIMIT 7;";
$result = $conn->query($sql);
$data = array();
foreach ($result as $row) {
$data[] = $row;
}
mysqli_close($conn);
echo json_encode($data);
?>
当我在图形代码中实现卡片中的代码时,它不起作用。
为什么SELECT WHERE user = '{$_SESSION["user_id"]}
在图表中不起作用?
答案 0 :(得分:0)
如果我很好理解,您的Mysql查询将返回空结果。尝试如下修改您的代码:
if(!$result = $conn->query($sql)) {
echo "query error.";
die();
}
$data = array();
while($row = $result->fetch_array(MYSQLI_ASSOC))
{
$data[] = $row;
}
/* free result set */
$result->free();
/* close connection */
$conn->close();
//uncomment the below line if you want to check de result of your mysql query because it seems be good.
//var_dump($data); die(); echo "<pre>";
echo json_encode($data);
因此,如果您没有任何mysql错误,请验证数据库名称,表名称是否正确以及表中是否包含数据。
参考:https://www.php.net/manual/en/mysqli-result.fetch-array.php
致谢