我到处寻找问题的答案,似乎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 with prepared statements,或者PDO with prepared statements,它们更安全。

09-25 18:52