Просмотр темы
Сторонее обращение к БД
|
|
alaken |
Опубликовано 05.10.2012 10:58
|
Новичок Сообщений: 8 Зарегистрирован: 05.10.2012 10:35 |
Доброго времени суток! Имеется веб приложение которое имеет свою БД и свои методы обращения к ней. Проблема при встраивании в страницу сайта, перестает работать обращение к базе. Вся проблема где то в maincore.php, на тестовой странице не включая этот модуль все корректно работает, как только включаю - перестает. Что и где в maincore.php блокирует сторонние запросы в базу? Не надо писать в заголовке, что проблема решена!
Изменил(а) jikaka, 08.10.2012 13:27 |
|
|
jikaka |
Опубликовано 05.10.2012 11:55
|
Супер Администратор Разработчики Сообщений: 4847 Зарегистрирован: 26.07.2010 12:10 |
каким образом встраиваешь? думаю нужно сделать отдельный php файл, в котором сделать все по уму |
|
|
alaken |
Опубликовано 05.10.2012 12:00
|
Новичок Сообщений: 8 Зарегистрирован: 05.10.2012 10:35 |
делаю вот так:require_once "../maincore.php"; подробности опустил... вот если я строчку require_once "../maincore.php"; закоментирую работать будет, проверил... |
|
|
alaken |
Опубликовано 05.10.2012 12:22
|
Новичок Сообщений: 8 Зарегистрирован: 05.10.2012 10:35 |
в maincore.php методы обращения к БД не используют ссылки на соединение, и если попытаться обратьиться к другой БД то соответственно сайт загнется после этого, потому что, будет использовать последнее соединение к базе, а последнее соответственно ссылается на другую БД. Но этот момент я попытался исправить, и везде в методах прописал ссылку на установленное соединение. подробности я тут приводить не стал, это код для примера: |
|
|
jikaka |
Опубликовано 05.10.2012 12:27
|
Супер Администратор Разработчики Сообщений: 4847 Зарегистрирован: 26.07.2010 12:10 |
ты проблему решил или нет?
|
|
|
alaken |
Опубликовано 05.10.2012 12:32
|
Новичок Сообщений: 8 Зарегистрирован: 05.10.2012 10:35 |
нет, проблема актуальна. В отдельности все работает как часы. Сайт с модифицированным maincore.php функционирует нормально. Веб приложение на отдельной странице (не встроенной в сайт fusion) работает как и должно. Но вместе на странице с подключенным maincore.php мое приложение перестает работать, тоесть результат из БД не возвращает вообще. У себя можете воспроизвести мою проблему. создать отдельную БД, (отдельно от БД fusion) и попробовать к ней обратьится из страницы сайта( я переделывал старницу news.php и из нее пробовал обращаться к другой БД) Мне нужно чтобы мое приложение выглядело не отдельной страничкой, а как стандартная страница fusion со всеми панелями, заголовками и футерами... Изменил(а) alaken, 05.10.2012 12:41 |
|
|
Polarfox |
Опубликовано 05.10.2012 12:44
|
Администратор Разработчики Группа поддержки Сообщений: 3384 Зарегистрирован: 20.08.2010 14:03 |
отображай во фрейме/отображай аяксом/меняй бд и возвращай оригинальную после работы. вопросы? Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
|
|
|
alaken |
Опубликовано 05.10.2012 13:00
|
Новичок Сообщений: 8 Зарегистрирован: 05.10.2012 10:35 |
PolarFox написал: отображай во фрейме/отображай аяксом/меняй бд и возвращай оригинальную после работы. вопросы? за совет с фреймами конечно "спасибо"... AJAX это решение, но другое. а по поводу "меняй бд и возвращай оригинальную после работы" - попробуйте сами, тоже самое делаю я в своем случае, но не работает. Вопросы? |
|
|
Rasmusok |
Опубликовано 05.10.2012 14:10
|
Пользователь Сообщений: 163 Зарегистрирован: 21.11.2010 16:18 |
Разработка сайтов. Продвижение. Раскрутка. www.wooas.ru
Начхать на красоту, главное что под капотом. |
|
|
Polarfox |
Опубликовано 05.10.2012 18:51
|
Администратор Разработчики Группа поддержки Сообщений: 3384 Зарегистрирован: 20.08.2010 14:03 |
Ладно моя помогай, какой код конкретно? Весь с переключением и возвратом. Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
|
|
|
Rush |
Опубликовано 06.10.2012 08:48
|
Администратор Разработчики Группа поддержки Сообщений: 1418 Зарегистрирован: 31.08.2010 14:41 |
если либа не большая, проще ее портануть на фьюжн. вобще первая мысль при прочтении что в одном скрипте 2 соединения к мускулу держать не получится. у тя в маинкоре уже установлено соединение с сервером мускула. просто попробуй использовать его, а не делай новое. т.е. выбери другую базу. но не скажу что проблема именно в этом. возможно есть настройки именно мускуула |
|
|
alaken |
Опубликовано 08.10.2012 07:26
|
Новичок Сообщений: 8 Зарегистрирован: 05.10.2012 10:35 |
Прошу прощения за задержку с ответом. maincore.php модифицирован, код авторизации изменен. Поясню, проект сделан для внутреннего использования, в организации, с доменной авторизацией, чтобы не набирать две авторизации(доменную, и авторизацию сайта) был модифицирован maincore.php чтобы использовать только доменную авторизацию. Это я к тому, что скорее всего не будет работать без авторизации на сервере, в общем главное чтобы переменная $_SERVER["REMOTE_USER"] была определена. dbconf.php - это параметры соединения с сторонней базой (не с базой fusion) для тестов нужно установить необходимые параметры. test.php - тестовый файл, собственно тут реализован похожий с моим приложением код, в котором я не могу получить результат. Где я не прав? Параметры системы: Программное обеспечение Webserver Apache/2.2.12 (Win32) PHP/5.3.0 PHP версия 5.3.0 MySQL версия сервера 5.1.37 PHP-Fusion версия 7.02.03
alaken присоединено следующее:файл:
Изменил(а) alaken, 08.10.2012 11:01 |
|
|
alaken |
Опубликовано 08.10.2012 12:42
|
Новичок Сообщений: 8 Зарегистрирован: 05.10.2012 10:35 |
Удалось локализовать проблему, но решение пока не нашел. Проблема в том, что не происходит выбор базы данных. Хотя в коде выбор базы идет следом после соединения: function Connect( $db_address, $db_name, $login, $password ) ErrorMessage:Table 'fusion.org_emploees' doesn't exist |
|
|
alaken |
Опубликовано 08.10.2012 13:00
|
Новичок Сообщений: 8 Зарегистрирован: 05.10.2012 10:35 |
Проблема разрешилась. помогло следующее замечание Замечание к mysql_connect Замечание: При указании параметру server значения "localhost" или "localhostort" клиентская библиотека MySQL будет пытаться соединиться с локальным сокетом. Если вы всё же хотите использовать TCP/IP, используйте адрес "127.0.0.1" вместо "localhost". Если клиентская библиотека пытается подключиться не к тому локальному сокету, это можно исправить через указание директивы в конфигурации PHP, после чего можно оставлять параметр server пустым. Изменил localhost на 127.0.0.1, все заработало нормально. Локальный сервер используется для тестирования, на боевом скорее всего таких проблем не возникло. Всем спасибо! |
|
Поделиться этой темой | |
Социальные закладки: | |
URL: | |
BBcode: | |
HTML: |
Перейти на форум: |