Я застрял на одном и том же вопросе некоторое время. Хотя я уверен, что этот вопрос должен существовать где-то, ни один из ответов, которые я исследовал, и не пытался работать, это странно.PHP string to MySQL date
Вот мой код:
if(isset($_POST['date'])){
$date=$_POST['date'];
echo $date; //outputs 2015-04-09
$date = date("Y-m-d", strtotime($date)); //Dropped quotation marks. before it was '$date'
$res = mysqli_query($cxn, "SELECT *
FROM Reservations;
WHERE ResDate=$date);")
or die ("Couldn't execute query.");
while($row = mysqli_fetch_assoc($res)){
extract($row);
echo "Reservation Number: $ResNo<br>Member ID: $MNo<br>VIN: $VIN<br>Reservation Date: $ResDate<br>Reserved Pick-Up Time: $ResTime<br>Pick-Up Address: $PickUpAddress<br>";
echo "________________________________________<br>";
}
}
Проблема заключается в WHERE ResDate=$date
. Я пытаюсь сделать $ date в тип DATE в MySQL. Вот некоторые другие способы, я попытался (я бы пропустил несколько)
WHERE ResDate=STR_TO_DATE('$date', '%m-%d-%Y')
(также попыталась дата $ без ' ')
WHERE ResDate='$date'
(также попыталась дата $ без'')
WHERE ResDate=CONVERT(DATETIME, '$date')
(также пытались $ дата без «„)
WHERE ResDate=CAST('$date' AS DATE)
(также пытались дату $ без“»)
Для всех вышеперечисленных вариантов, я получил „не удалось выполнить запрос.“ У меня заканчиваются идеи .. любая помощь? Заранее спасибо.
UPDATE: Вот код со страницы перед:
$dates = mysqli_query($cxn, "SELECT ResDate
FROM Reservations")
or die ("Couldn't execute query.");
$dateArray = array();
array_push($dateArray, '<option>' . "Choose Date" . '</option>');
while($row = mysqli_fetch_assoc($dates)){
extract($row);
array_push($dateArray, '<option>' . "$ResDate" . '</option>');
}
Так $ ResDate из базы данных должны быть переданы на следующую страницу, я думаю ..
сначала правильный запрос $ res = mysqli_query ($ cxn, "SELECT * FROM 'Reservations' WHERE' ResDate' = '$ date' ") –
whats значение' $ _POST ['date'] '? – Ghost
нет одиночных кавычек вокруг 'strtotime()'. – Daan