2012-04-19 53 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