日期格式在查询中不起作用,但在phpmyadmin中起作用



我能帮我解决这个问题吗?我想将日期格式yyyy/mm/dd更改为dd/mm/yyyy。DATE_FORMAT在PHPMyAmin中有效,但在我放入搜索查询时无效。我对PHP不是很有经验,尽管我做了研究,但我不明白为什么它不起作用——这一定是一些我看不到的愚蠢的东西,但我在不同的位置尝试过,甚至它没有出现在我的HTML表上(所有其他项目都可以(。在PHPMyAdmin中没有错误,日期显示为dd/mm/yyyy。提前非常感谢你能帮我做的一切。这是PHPMyAdmin:中的代码

`SELECT DATE_FORMAT(Fixture_Date,'%d/%m/%Y'), f.WeeKNo, f.HomeTeam, f.AwayTeam, s.HT_score, s.AT_score FROM Fixtures f LEFT JOIN Scores s ON f.FixtureID=s.FixtureID`

这是我的PHP查询

<?php 
$keyword=trim ($_POST['keyword']);
$query=$conn->prepare ( "SELECT DATE_FORMAT(Fixture_Date,'%d/%m/%Y'), f.WeeKNo, f.HomeTeam, f.AwayTeam, s.HT_score, s.AT_score FROM Fixtures f LEFT JOIN Scores s ON f.FixtureID=s.FixtureID WHERE f.Fixture_Date LIKE '$keyword' or WeekNo LIKE '$keyword' 
or HomeTeam LIKE '$keyword' or AwayTeam LIKE '$keyword'");

$query->execute();

while ($row=$query->fetch()){ ?>
<tr>

<td><?php echo $row['Fixture_Date'];?></td> 
<td><?php echo $row['WeekNo'];?></td>
<td><?php echo $row['HomeTeam'];?></td>
<td><?php echo $row['HT_score'];?></td>
<td><?php echo $row['AwayTeam'];?></td>
<td><?php echo $row['AT_score'];?></td>
</tr>

<?php 

如果您查看PHPMyAdmin中的结果,您会发现列名现在是DATE_FORMAT(Fixture_Date,'%d/%m/%Y')。你需要给列取别名,这样你就可以更容易地把它拉回来:

$query=$conn->prepare ( "SELECT DATE_FORMAT(Fixture_Date,'%d/%m/%Y') AS Fixture_Date, f.WeeKNo, f.HomeTeam, f.AwayTeam, s.HT_score, s.AT_score FROM Fixtures f LEFT JOIN Scores s ON f.FixtureID=s.FixtureID WHERE f.Fixture_Date LIKE '$keyword' or WeekNo LIKE '$keyword' 
or HomeTeam LIKE '$keyword' or AwayTeam LIKE '$keyword'");

顺便说一句,既然您使用的是prepare语句,那么您实际上也应该绑定您的变量。您可以找到PDO和mysqli

最新更新