По сути, мне нужно получить некоторую информацию об учетной записи из таблицы dbase, где у них есть клиент клиента, который был передан через GET, а дата размещения счета (dateplaced) находится между начальной и конечной датами, снова переданными из полей календаря через GET.
Запрос ниже не возвращает строк. Я проверил, что части запроса SELECT и FROM работают так, как задумано, и выбор клиента из GET работает нормально, так что остаются проблемы с датой. «dateplaced» хранится в базе данных в виде архива в формате «дд / мм / гггг». После исследования я обнаружил, что mysql хочет даты в формате "гггг-мм-дд". Я собрал воедино две части сравнения между данными 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());