基本上我需要檢索從那裏他們已經通過獲得通過客戶端的客戶端的dBASE表的一些帳戶信息,帳戶放置日期(dateplaced)是通過GET從日曆字段再次傳遞的開始和結束日期之間。需要與一個MySQL/PHP查詢涉及日期幫助範圍
下面的查詢不返回行。我已驗證查詢的SELECT和FROM部分按預期工作,並且從GET中選擇的客戶端正常工作,因此會留下日期問題。 「dateplaced」作爲「dd/mm/yyyy」格式的varchar存儲在數據庫中。經過研究,我發現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 2009-10-02 16:08:11