2012-04-19 2 views
0

Немного истории. Мы перенесли сайт с одного хостинг-провайдера (hostexcellence) на другой (1 и 1), потому что клиент хотел получить свой собственный хостинг отдельно от нашего реселлера.Специфический запрос 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? –

+0

Трудно поверить, что код SQL является справочным. Скорее всего, вы не включили регистрацию ошибок PHP или ваш уровень отчетности об ошибках невелик. –

+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); ' –

ответ

0

Вы пробовали this-

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, я пробовал строку, но это не имеет никакого значения, и соединение открыто, так как я могу запускать успешные запросы в других таблицах, прежде чем запрашивать эту конкретную таблицу. –

+0

Какие IDE/Редактор вы пишете свой код? Каким образом запрашиваются таблицы, связанные с eachother? – RedRazor

+0

Я использую textmate для редактирования моих файлов и загрузки через ftp. Это просто поля автоинкремента. Но в запросе, о котором идет речь, я не ищу по ID, а скорее по дате и если активный флаг установлен в одной конкретной таблице. –

Смежные вопросы