2012-04-19 51 views
0

有點歷史第一。我們將網站從一個託管服務提供商(hostexcellence)遷移到另一個託管服務提供商(1and1),因爲客戶希望從我們的經銷商託管中獲得他們自己的託管服務。具體PHP Mysql查詢不能在根文件夾中工作

該網站工作正常,除了一件事。

出於某種原因,或者是在根文件夾中所做的另一項特定的查詢不工作,但在子文件夾完全正常工作。另外要注意的是,如果我做了一個查詢應該返回多個結果它工作正常,但如果我做一個查詢應該返回一個行項目它返回一個空集。

這裏是查詢的一個

'SELECT `specials`.*, DATE_FORMAT(startdate, "%d %b %Y") AS sdate, DATE_FORMAT(enddate, "%d %b %Y") AS edate FROM `specials` WHERE enddate > NOW() and active = 1' 

不過,如果我在不同的表上運行類似的查詢,它工作正常

'SELECT *, DATE_FORMAT(startdate, "%d %b %Y") AS sdate, DATE_FORMAT(enddate, "%d %b %Y") AS edate FROM events WHERE enddate >= NOW() AND active = 1' 

正如我上面提到的,這些不工作網站的根文件夾,但可以在任何子文件夾中工作。

mysql_error()不返回任何內容。它只是返回一個空的結果。

任何想法,因爲我一直在追蹤過去兩天的錯誤。

這是Apache服務器上運行,如果有什麼差別,並且在該目錄目前沒有htaccess文件。

在此先感謝

編輯

我嘗試了所有的下述方法,和我重試查詢從他們的工作在其他頁面和在phpMyAdmin罰款頁分開。所以我略微有點結束。

+0

'open_basedir' PHP config option? – 2012-04-19 10:05:37

+0

很難相信SQL代碼是目錄感知的。最有可能的是,您尚未啓用PHP錯誤日誌記錄,或者您的錯誤報告級別較低。 – 2012-04-19 10:18:02

+0

我已經添加了以下到頁面(作爲託管服務提供商允許在php.ini是相當有限的選項)來測試它,但它不返回任何錯誤: '的ini_set(「display_errors設置」,1); ini_set('log_errors',1); ini_set('error_log',dirname(__ FILE__)。'/error_log.txt'); 的error_reporting(E_ALL);' – 2012-04-19 11:08:11

回答

0

您是否嘗試過這個 -

SELECT *, DATE_FORMAT(startdate, "%d %b %Y") AS sdate, DATE_FORMAT(enddate, "%d %b %Y") AS edate FROM specials WHERE enddate > NOW() and active = 1' 

此外,作爲一個備份計劃,檢查數據庫的連接,並嘗試從兩者的連接命令,並通過mysql_select_db
返回錯誤(或者無論使用哪種方法選擇你的數據庫)。

+0

OK,我都試過了字符串,但它不會有所作爲,並且連接是開放的,因爲我能夠在其他表上運行的成功查詢我查詢之前的特定表 – 2012-04-19 10:14:18

+0

什麼IDE /編輯器是你寫你的代碼?被查詢的表格以何種方式與彼此相關? – RedRazor 2012-04-20 13:07:23

+0

我使用textmate編輯我的文件並通過ftp上傳。這是簡單的自動增量字段。但在查詢頂部的問題中,我不是按ID搜索的,而是按日期以及是否在一個特定的表上設置了活動標誌。 – 2012-04-20 13:57:26