如何 select 来自 MySQL 的无行时间戳
How to select a timestamp from MySQL without rows
最近,我一直在为我的服务器的捐助者或支持者开发一个福利系统,但是,我 运行 遇到了一个小问题,我无法完全 select我想要从 MySQL 返回整数
的数据
SELECT TIMESTAMPDIFF(MINUTE, CURRENT_TIMESTAMP(), `expiration`)
FROM `unclaimed` WHERE `steamid`="STEAM_0:1:56987503"
(Returns 为 525530)
但是,我真的不能 select 这个数据,因为它不在任何行中,结果只是 returns。
我还尝试了 PHP 代码的多种变体来获取结果而不是行,但是那些导致了错误,所以我尝试了这个最后的变体,它给了我一个空白页:
我希望完成的是一个简单的脚本来检查数字是否为负数,以及是否将 运行k 更改为 0
您的行可以返回:
$row = mysqli_fetch_assoc($result);
然后你就可以回显了。还将时间戳分配给查询中的别名,以便您可以轻松访问它。
编辑:将您的查询更改为:
SELECT TIMESTAMPDIFF(MINUTE, CURRENT_TIMESTAMP(), `expiration`) steamTimestamp
FROM `unclaimed` WHERE `steamid`="STEAM_0:1:56987503"
然后您可以使用 $row['steamTimestamp'];
引用它
首先,确保 mysqli 扩展在创建连接之前给出有意义的错误。
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
然后,如果涉及用户输入,您应该使用带有绑定参数的准备好的语句。
$stmt = $con->prepare('
SELECT TIMESTAMPDIFF(MINUTE, CURRENT_TIMESTAMP(), `expiration`)
FROM `unclaimed` WHERE `steamid` = ?');
$stmt->bind_param('s', $SteamID);
$stmt->execute();
$stmt->bind_result($diff);
while ($stmt->fetch()) {
if ($diff <= 0) {
// and so on
}
}
最近,我一直在为我的服务器的捐助者或支持者开发一个福利系统,但是,我 运行 遇到了一个小问题,我无法完全 select我想要从 MySQL 返回整数
的数据SELECT TIMESTAMPDIFF(MINUTE, CURRENT_TIMESTAMP(), `expiration`)
FROM `unclaimed` WHERE `steamid`="STEAM_0:1:56987503"
(Returns 为 525530)
但是,我真的不能 select 这个数据,因为它不在任何行中,结果只是 returns。
我还尝试了 PHP 代码的多种变体来获取结果而不是行,但是那些导致了错误,所以我尝试了这个最后的变体,它给了我一个空白页:
我希望完成的是一个简单的脚本来检查数字是否为负数,以及是否将 运行k 更改为 0
您的行可以返回:
$row = mysqli_fetch_assoc($result);
然后你就可以回显了。还将时间戳分配给查询中的别名,以便您可以轻松访问它。
编辑:将您的查询更改为:
SELECT TIMESTAMPDIFF(MINUTE, CURRENT_TIMESTAMP(), `expiration`) steamTimestamp
FROM `unclaimed` WHERE `steamid`="STEAM_0:1:56987503"
然后您可以使用 $row['steamTimestamp'];
引用它首先,确保 mysqli 扩展在创建连接之前给出有意义的错误。
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
然后,如果涉及用户输入,您应该使用带有绑定参数的准备好的语句。
$stmt = $con->prepare('
SELECT TIMESTAMPDIFF(MINUTE, CURRENT_TIMESTAMP(), `expiration`)
FROM `unclaimed` WHERE `steamid` = ?');
$stmt->bind_param('s', $SteamID);
$stmt->execute();
$stmt->bind_result($diff);
while ($stmt->fetch()) {
if ($diff <= 0) {
// and so on
}
}