Глюк mssql_connect в php

Вчера напоролся на одну достаточно неприятную “особенность” функции mssql_connect – если создавать два соединения к разным базам данных, то работать с ними одновременно не возможно – оба хандлера указывают на последнее соединение, первое оказывается недоступным. Тоесть, необязательный параметр во всех mssql_ функциях просто игнорируется.. Пока не разобрался с чем это связано, но больше всего похоже на баг в пхп расширении, хотя не исключаю проблем с FreeTDS, которая используется для работы с сервером баз данных(работаю под операционкой Linux CentOS).

Единственным пока выходом для меня оказалась последовательная работа с базами – соединились с одной, выполнили запрос, соединились со второй, тоже запрос, потом опять коннект к первой и так далее… Не сильно удобно, но зато вполне работоспособно 😉



Digital Ocean
Провайдер облачного хостинга - заведи свой виртуальный сервер всего за $5 в месяц !

4 Comments

  1. new_coder

    читать ман надо а потом людей пугать

    Если второй вызов функции произошёл с теми же аргументами mysql_connect(), новое соединение не будет установлено. Вместо этого функция вернёт ссылку на уже установленное соединение. Параметр new_link может заставить функцию mysql_connect() открыть ещё одно соединение, даже если соединение с аналогичными параметрами уже открыто. Параметр client_flags должен быть комбинацией из следующих констант: MYSQL_CLIENT_COMPRESS, MYSQL_CLIENT_IGNORE_SPACE, MYSQL_CLIENT_INTERACTIVE.

  2. hb

    у mssql_connect есть 4 аргумент $new_link.
    если он true, то функция создает новое sql соединение даже когда уже создано
    соединение к тому же серверу с теми юзером. иначе, по-умолчанию,
    mssql_connect вернет ссылку на уже созданное соединение с сервером.

    $sql1 = mssql_connect(‘server’, ‘user’, ‘pass’);
    $sql2 = mssql_connect(‘server’, ‘user’, ‘pass’); // $sql2 = $sql1
    $sql3 = mssql_connect(‘server’, ‘user’, ‘pass’, true); //$sql3 – новое соединение к тому же серверу

  3. tolix

    2 hb:
    Спасибо большое за разьяснение, буду знать. Я действительно использовал подключения с одинаковыми параметрами.

  4. lingerie shower invitations

    I go for 100-120 It’s about upping the volume to improve For instance, if it’s squat day, I’m doing like 12 sets of varying rep ranges depending on the purpose of that day, be it volume work, pause squats, or pushing up the weight

Leave a Reply