mysql соединение из класса

autocalc
На сайте с 11.05.2011
Offline
52
630

Привет! Есть проблема, объясните пожалуйста, что происходит с соединением с базой:

Соединение с базой устанавливается в классе через функцию-конструктор. Вопрос в том, что происходит, когда поочередно вызывается несколько методов? Соединение повторно открывается, или нет? По завершении работы скрипта происходит ли разъединение (если прописать mysql_close() под классом - выдает ошибку)?

D
На сайте с 09.07.2009
Offline
79
#1
autocalc:
Вопрос в том, что происходит, когда поочередно вызывается несколько методов? Соединение повторно открывается, или нет?

Соединение устанавливается один раз в конструкторе. Если конечно в каждом методе потом не открывается соединение заново(смотрите ваш класс).

autocalc:
По завершении работы скрипта происходит ли разъединение (если прописать mysql_close() под классом - выдает ошибку)?

По завершении - да.

mysql_close() можно поместить и в деструктор.

N
На сайте с 06.05.2007
Offline
419
#2

библиотека mysql в php и ваши упражнения в ООП вообще никак не связаны.

функции mysql_* используют в качестве идентификатора соединений идентификатор из последнего вызова mysql_connect.

поэтому если mysql_connect вызывается несколько раз (несколько разных серверов, например), то нужно явно указывать идентификатор соединения. Во всех этих функциях можно передать идентификатор в качестве аргумента.

Если класс написан не учитывая данные факты, то придется переписать с их учетом.

Кнопка вызова админа ()

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий