MySQL无秒日期


MySQL Date without seconds

我已经四处搜索问题的答案,DATE_FORMAT函数似乎应该允许我删除秒数-我需要格式化表中的一列,结果会进入下拉框-我有以下代码;

$DepartSailing = mysql_query("SELECT DATE_FORMAT(SailingTime,'%h:%i %p') AS FormattedTime FROM wp_timetable WHERE CURDATE() BETWEEN StartDate AND EndDate") or die(mysql_error());
echo "<select name='adults' id='adults' style='width: 300px; height: 30px; padding: 5px;'>";
while ($row= mysql_fetch_array($DepartSailing)) {
echo "<option value='" . $row['SailingTime'] ."'>" . $row['SailingTime'] ."</option>";}
echo "</select>";

如果我只去掉DATE_FORMAT函数,该语句就会起作用。但它显示了秒数——有人能告诉我我在这里做错了什么吗?

感谢

由于您使用的是别名AS FormattedTime

您需要将$row['SailingTime']更改为$row['FormattedTime']

这里有一个关于别名的教程:

  • http://www.mysqltutorial.org/mysql-alias/

以下是从该页面中提取的一个示例:

SELECT [col1 | expression] AS `descriptive name`
FROM table_name

您还使用了一个不推荐使用的MySQL API,它将从未来的PHP版本中删除。

  • 您应该考虑将mysqli与已准备好的语句一起使用,或者将PDO与已准备的语句一起使用,它们要安全得多