我一直在寻找有关搜索的问题的帮助,并尝试根据这些问题编辑我的代码,但没有运气,所以我希望有人可以在这里提供帮助。
我有一个数据库,其中有一堆日期时间戳Y-m-d H:i:s
的交易。
我试图从3个月前提取结果,直到今天,虽然我的代码似乎没有正常运行?无论我在数据库中更改了多少日期,都没有任何反应?
我已尝试>
并尝试更改AND
和OR
语句,并且已经摆弄了我标记变量的方式,例如:`'$ variable'{ $ variable}``$ variable```再次没有运气......
$today = date('Y-m-d H:i:s');
$months3 = strtotime('-3 months', strtotime($today));
$months_ago = date('Y-m-d H:i:s' , $months3 );
$user_email = $_SESSION['email_address'];
$sql3 = "SELECT * FROM `ap_payment_logs` WHERE 'txn_date' BETWEEN '{$months_ago}' AND '{$today}' AND user_id = '$user_id' OR payer_email = '$user_email' ORDER BY 'txn_date' DESC LIMIT 10";
答案 0 :(得分:0)
我不确定这方面的性能方面,但你可以在mysql中做这样的事情:
WHERE txn_date > NOW() - INTERVAL 3 MONTH
如果你的表也有将来的记录,你应该添加'txn_date'应该小于NOW()的条件
然后将您的SQL查询更改为:
$sql3 = "SELECT * FROM `ap_payment_logs` WHERE 'txn_date' > NOW() - INTERVAL 3 MONTH AND (user_id = '$user_id' OR payer_email = '$user_email') ORDER BY 'txn_date' DESC LIMIT 10";
希望有所帮助