PHP / SQL转换时间戳

时间:2018-09-09 19:04:04

标签: php mysql sql

所以我在一个简单的网站上工作,但遇到了问题。我有一个基于订阅的网站,并且他们的订阅结束的日期已经过期。这一切都很好,但是当我尝试显示到期日期时,我遇到了问题。前3行是我一直在尝试的。好像时间戳没有从数据库正确传输,因为当我在按钮上进行测试时,这显示了正确的日期。前三行总是给我这个:1970/01/01

// Get Expiration Date
// Always gives me  1970/01/01
$datexpire  = "SELECT date-expire FROM users WHERE username='{$_SESSION['username']}'";
$timestamp = mysqli_query($link, $datexpire);
$date = date("Y/m/d",$timestamp);

//This works
$timestamp2 = 1537847863;
$date2 = date("Y/m/d",$timestamp2);

如果有人可以提供帮助,将不胜感激

2 个答案:

答案 0 :(得分:0)

我认为您的代码应类似于

 $datexpire  = "SELECT date-expire FROM users WHERE username='{$_SESSION['username']}'";
 $result = mysqli_query($link, $datexpire);
 $row=mysqli_fetch_assoc($result));
       $timestamp = $row['date_expire'];
       $date = date("Y/m/d", $timestamp);
       echo $date;

请检查列名称..如果它是date-expire或date_expire ??? (破折号或下划线??)

答案 1 :(得分:0)

mysqli_query返回一个mysqli_result对象或一个布尔值。 您想从给定的对象中获取一行,就像这样:

$datexpire = "SELECT `date-expire` FROM users WHERE username='{$_SESSION['username']}'";
$result = mysqli_query($link, $datexpire);
$row = mysqli_fetch_assoc($result);
$date = date("Y/m/d", $row["date-expire"]);