我需要在日期范围之间获取所有数据并导出到CSV,现在导出它的工作,但是日期范围的错误是没有正确地从我的数据库获取数据,我的代码是:
$sql_query = "SELECT user_name AS 'Nome', cpf AS 'CPF do Titular',
payment_method AS 'Banco', payment_type AS 'Tipo de Pagamento', other_bank AS 'Banco Distinto', agdetails AS 'Agência', accdetails AS 'Número da Conta', amount AS
'Valor da Transação', status AS 'Situação da Transferência' FROM $table WHERE status='paid' STR_TO_DATE('process_date','%Y/%m/%d') AND process_date BETWEEN '".$_POST['from']." 00:00:00' AND '".$_POST['to']." 00:00:00'";
这里有什么不对?我刚检查了每个变量的结果,并发送了正确的选定日期,但数据库中的数据还没有到来。
由于
EDITED
我是如何在phpmyadmin上运行SQL的:
SELECT user_name AS 'Nome', cpf AS 'CPF do Titular', payment_method AS 'Banco', payment_type AS 'Tipo de Pagamento', other_bank AS 'Banco Distinto', agdetails AS 'Agência', accdetails AS 'Número da Conta', amount AS 'Valor da Transação',
STATUS AS 'Situação da Transferência'
FROM cashbackengine_transactions
WHERE STATUS = 'paid'
AND process_date
BETWEEN '2013-09-12 00:00:00'
AND '2013-11-27 00:00:00'
LIMIT 0 , 30
答案 0 :(得分:2)
尝试此查询 -
SELECT
user_name AS 'Nome',
cpf AS 'CPF do Titular',
payment_method AS 'Banco',
payment_type AS 'Tipo de Pagamento',
other_bank AS 'Banco Distinto',
agdetails AS 'Agência',
accdetails AS 'Número da Conta',
amount AS 'Valor da Transação',
status AS 'Situação da Transferência'
FROM $table
WHERE
status='paid' AND
process_date BETWEEN str_to_date($from, '%Y-%m-%d 00:00:00') and str_to_date($to, '%Y-%m-%d 00:00:00')
假设 -
$table = "cashbackengine_transactions";
$from = mysql_real_escape($_POST["from"]);
$to = mysql_real_escape($_POST["to"]);