Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> mssql и mysql, кроссплатформенный скрипт 
:(
    Опции темы
Dr.Zlo
Дата 30.4.2008, 10:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 49
Регистрация: 12.11.2007

Репутация: нет
Всего: 2



Здравствуйте!
Сразу оговорюсь, я js разработчик и serverside знаю не очень.

Возникла задача, сделал у себя на mysql, а у клиентов на серваке стоит mssql.
Как сделать так, чтоб скрипт работал и у меня на локалхосте и на их серваке? Я слышал что-то про PDO, насколько это правильный выбор? или легче переписать скрипт под mssql?

PM MAIL   Вверх
Feldmarschall
Дата 30.4.2008, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 1
Всего: 32



PDO тебе не поможет.
Лучше всего будет поставить у клиентов MySQL.
Ну а легче - поставить у себя МС. Но только поначалу.
PM   Вверх
Dr_Zlo
Дата 30.4.2008, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 29.10.2007

Репутация: нет
Всего: нет



Серверная часть приложения не очень большая и особо расширяться не будет, так что подойдёт даже не очень фэншуйное решение. Я пока что переписал основные функции работы с базой по такому принципу:

Код

function db_query( $q ){
    if (function_exists(mysql_query)){
        return mysql_query( $q );
    } elseif (function_exists(mssql_query)){
        return mssql_query( $q );        
    }
}


Соответственно в коде я вызываю не mysql_query( $query ) а db_query( $query ), также и с остальными функциями.
У меня на mysql работает вроде. Скажите, будет ли работать под mssql? насколько жизнеспособно данное решение вообще?
PM MAIL   Вверх
Feldmarschall
Дата 30.4.2008, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 1
Всего: 32



а запросы у тебя какой код будет переписывать?
PM   Вверх
Dr_Zlo
Дата 30.4.2008, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 29.10.2007

Репутация: нет
Всего: нет



Вот всё что есть на данный момент:



Код



function db_connect($host, $user, $pass){
    if (function_exists(@mysql_connect)){
        return @mysql_connect($host, $user, $pass);
    } elseif (function_exists(@mssql_connect)){
        return @mssql_connect($host, $user, $pass);        
    }
}

function db_select_db( $db_name, $link ){
    if (function_exists(@mysql_select_db)){
        return @mysql_select_db( $db_name, $link );
    } elseif (function_exists(@mssql_select_db)){
        return @mssql_select_db( $db_name, $link );        
    }
}

function db_query( $q ){
    if (function_exists(@mysql_query)){
        return @mysql_query( $q );
    } elseif (function_exists(@mssql_query)){
        return @mssql_query( $q );        
    }
}

function db_num_rows( $res){
    if (function_exists(@mysql_num_rows)){
        return @mysql_num_rows( $res );
    } elseif (function_exists(@mssql_num_rows)){
        return @mssql_num_rows( $res);        
    }
}

function db_fetch_array( $res){
    if (function_exists(@mysql_fetch_array)){
        return @mysql_fetch_array( $res );
    } elseif (function_exists(@mssql_fetch_array)){
        return @mssql_fetch_array( $res);        
    }
}



У кого какие мнения по поводу этого способа?
PM MAIL   Вверх
Feldmarschall
Дата 30.4.2008, 15:27 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 1
Всего: 32



такое ощущение, что я два раза бесцветными чернилами писал

Добавлено через 6 минут и 36 секунд
собачек-то зачем перед именами функций натыкал?
PM   Вверх
Dr_Zlo
Дата 30.4.2008, 16:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 29.10.2007

Репутация: нет
Всего: нет



хм, как бы тебе ещё раз попонятней объяснить... вроде много смайлов, но вот какой из них больше подходит для определения "йа лабань в пхп"... мож этот  smile 
PM MAIL   Вверх
Feldmarschall
Дата 30.4.2008, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 1
Всего: 32



SQL запросы от mysql не подойдут для MS
так понятнее?

Добавлено через 7 минут и 13 секунд
Код

вместо
(function_exists(@mysql_select_db))
надо писать
(function_exists("mysql_select_db"))

такой вот в пхп синтаксис. Насколько мне известно, в яваскрипте строки тоже пишутся в кавычках, а не в собачках
PM   Вверх
comtat
Дата 14.5.2008, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1310
Регистрация: 2.5.2006
Где: Россия, Казань

Репутация: 1
Всего: 71



Не вижу в этом смысла:
Код

function db_select_db( $db_name, $link ){
    if (function_exists("mysql_select_db")){
        return @mysql_select_db( $db_name, $link );
    } elseif (function_exists("mssql_select_db")){
        return @mssql_select_db( $db_name, $link );        
    }
}

Так как 
Код

Проверяет, есть ли в списке определённых функций, встроенных и пользовательских, функция function_name. Возвращает TRUE в случае успешного завершения или FALSE в случае возникновения ошибки


Тоесть если у клиента будет в php.ini будет подключена библиотека "php_mysql" а реально используется MSSQL
то данная функция попытается работать с БД как с БД MySQL, что есть не верно
 
Сделай в конфиге настройку, в которой опиши что за СУБД используешь


--------------------
Рожденный в СССР !!!
ExtJS - мой фреймворк 
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0787 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.