Fiz um pequeno banco de dados com 4 colunas (id, data, nome, valor). Posteriormente criei um formulário (via $POST) para servir como filtro definindo uma data inicial e uma data final Consigo recuperar as datas definidas no formulário em qualquer outra página Usando esse código $SESSION['datainicial'] = $POST['datainicial']; $SESSION['datafinal'] = $_POST['datafinal'];
Consigo recuperar as datas escolhidas no formulário em qualquer outro arquivo usando por exemplo:
$datainicio = $_SESSION['datainicial'];
$datafim = $_SESSION['datafinal'];
echo $datafim;
echo $datainicio;
Entretanto, quando uso essas variáveis ($datainicio e $datafim) num codigo como este:
$resultadoSelecionado = $this->mysql->query('SELECT * FROM custos WHERE datams BETWEEN "22-09-16" AND "22-09-23"');
Mas o interessante é que se uso as datas de forma natural (por exemplo 22-09-16 e 22-09-23), como abaixo, a seleção do banco de dados funciona
$resultadoSelecionado = $this->mysql->query('SELECT * FROM custos WHERE datams BETWEEN "22-09-16" AND "22-09-23"');
Não entendo, porque as variáveis $datainicio contém a string 22-09-16 e $datafim a string 22-09-23
Porque quando troco a forma 22-09-16 por uma variável que contém a mesma informação não funciona?