我有一個名爲event的表,它包含五個列:event_id,Date,timing,event_type_id和capacity。mysql查詢以不同格式獲取特定日期的數據
我試圖從那裏日期列的格式毫米特定日期相匹配的表事件得到記錄/ DD/YYYY
這裏是我的PHP代碼:
<?php
$con=mysqli_connect("localhost","root","simple","eventsdb");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
if(isset($_GET['date']))
{
$when = $_GET['date'];
}
else{
$when = date("d/m/Y");
}
echo $when;
$sql="SELECT Event_id, Date, Capacity FROM event where DATE('Date')='$when'";
if ($result=mysqli_query($con,$sql))
{
// Fetch one and one row
while ($row=mysqli_fetch_row($result))
{
printf ("%s %s %s <br>",$row[0],$row[1],$row[2]);
}
// Free result set
mysqli_free_result($result);
}
mysqli_close($con);
?>
我覺得這是sql語句出錯,因爲它返回所有記錄,即使是那些不匹配日期值的記錄
任何幫助將不勝感激。
我懷疑你的查詢失敗,但你沒有檢查錯誤,也懷疑你的日期列類型不匹配傳入的數據。然而,我們不知道模式是什麼。 –
'Date'是一個保留字,所以我懷疑這個查詢在列名字周圍沒有'\''的情況下運行。 – Jeff
也不應該用於比較日期的格式爲'yyyy-mm-dd'? – Jeff