我试图找到下一个日期。出于任何原因,以下代码不会返回任何信息。我有1个格式如此的条目:2017-03-18 12:37:00 ....我做错了什么?
<?php
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'user');
define('DB_PASSWORD', 'pass');
define('DB_DATABASE', 'db');
$link = mysqli_connect(DB_SERVER,DB_USERNAME,DB_PASSWORD,DB_DATABASE);
$query = "SELECT * FROM group WHERE date_time >= NOW() order by date_time LIMIT 1";
$next = mysqli_query($link, $query);
echo $next;
?>
答案 0 :(得分:1)
您需要调用fetch函数来从查询中获取数据。你还应该检查它是否找到了什么;如果查询没有匹配任何行,fetch
函数将返回null
而不是数组。
$query = "SELECT * FROM `group` WHERE date_time >= NOW() ORDER BY date_time LIMIT 1";
$result = mysqli_query($link, $query);
$row = mysqli_fetch_assoc($result);
if ($row) {
$date_time = $row['date_time'];
echo "Next date is " . $date_time;
} else {
echo "No time after now in the table.";
}
答案 1 :(得分:0)
使用您的代码返回查询指针。您缺少一行来获取条目。
https://secure.php.net/manual/de/mysqli-result.fetch-assoc.php
以下是如何实现这一目标的一个很好的例子。
if ($result = $mysqli->query($query)) {
/* fetch associative array */
while ($row = $result->fetch_assoc()) {
printf ("%s (%s)\n", $row["Name"], $row["CountryCode"]);
}
/* free result set */
$result->free();
}