По сути, мне нужно получить некоторые данные учетной записи из таблицы dbase, где у них есть клиент клиента, который был передан через GET, а дата размещения учетной записи (с учетом даты) между датой начала и окончания, прошедшей с полей календаря снова через GET.Нужна помощь с запросом MySQL/PHP, связанным с диапазонами дат
В нижеприведенном запросе нет строк. Я проверил, что части запроса SELECT и FROM работают по назначению, а клиентский выбор из GET работает отлично, поэтому это оставляет проблемы с датой. «dateplaced» хранится в базе данных как varchar в формате «dd/mm/yyyy». При исследовании я обнаружил, что mysql хочет видеть даты в формате «yyyy-mm-dd». Я собрал две части сравнения между данными GET и достаточно уверен, что они отформатированы правильно. Я просто попытался использовать «dateplaced» вместо str_to_date(), и он не работал, поэтому я попытался str_to_date(), как показано ниже, но он все равно не работает.
Может ли кто-нибудь обнаружить мою проблему здесь? Это сводит меня с ума.
$query = mysql_query("SELECT accountnumber, firstname, middlename, lastname, currentbalance FROM dbase WHERE clientname = '" . $_GET['client'] . "' AND str_to_date(dateplaced, '%Y-%m-%d') BETWEEN '" . $_GET['calendar_start_year'] . "-" . $_GET['calendar_start_month'] . "-" . $_GET['calendar_start_day'] . "' AND '" . $_GET['calendar_end_year'] . "-" . $_GET['calendar_end_month'] . "-" . $_GET['calendar_end_day'] . "' ORDER BY lastname") or die(mysql_error());
Спасибо! Оба ответа на этот вопрос решают мою проблему! Я не могу отметить оба, так как я принимаю это, потому что он был первым. – DWilliams