23.07.2017, 05:54 [+3 UTC]
в нашей команде: 2 066 чел. | участники онлайн: 1 (рекорд: 21)

:: РЕГИСТРАЦИЯ

:: консультации

:: задать вопрос

:: все разделы

:: правила

:: новости

:: участники

:: доска почёта

:: форум

:: блоги

:: поиск

:: статистика

:: наш журнал

:: наши встречи

:: наша галерея

:: отзывы о нас

:: поддержка

:: руководство

Версия системы:
7.41 (25.02.2017)

Общие новости:
23.02.2017, 09:51

Форум:
21.07.2017, 11:30

Последний вопрос:
23.07.2017, 04:56

Последний ответ:
21.07.2017, 15:17

Последняя рассылка:
22.07.2017, 21:45

Писем в очереди:
0

Мы в соцсетях:

Наша кнопка:

RFpro.ru - здесь вам помогут!

Отзывы о нас:
24.09.2010, 20:45 »
Flavi49
Снимаю шляпу. "Заставили" лентяя наконец почитать. [вопрос № 180001, ответ № 263165]
17.10.2009, 12:47 »
Sebikow
Особое спасибо за разъяснение про торговые марки. А напряжение проверял сразу цифровым мультиметром - больше чем 18,3 не поднималось. [вопрос № 173219, ответ № 255486]
16.05.2010, 13:34 »
Andrekk
Спасибо большое. Наверное, я с требованиями напутал. Я подумаю над еще одним вопросом. Спасибо за внимание к моему вопросу. [вопрос № 178329, ответ № 261389]

РАЗДЕЛ • PHP / Perl / Python

Создание программ на языках PHP, Perl и Python.

[администратор рассылки: Коцюрбенко Алексей aka Жерар (Мастер-Эксперт)]

Лучшие эксперты в этом разделе

Коцюрбенко Алексей aka Жерар
Статус: Мастер-Эксперт
Рейтинг: 141
Хватов Сергей
Статус: Академик
Рейтинг: 28
Марк Крейн
Статус: 5-й класс
Рейтинг: 21

Перейти к консультации №:
 

Консультация онлайн # 137499
Раздел: • PHP / Perl / Python
Автор вопроса: Anatole
Отправлена: 19.05.2008, 14:24
Поступило ответов: 3

Здравствуйте, уважаемые эксперты!

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

Сильно ли это дополнительно загружает сервер? И если загружает, то как решить вопрос с передачей линка на подключение в функции, использующие mysql_query? Просто передавать в виде параметра, или еще как-то?

Заранее спасибо

Состояние: Консультация закрыта

Ответ # 224064 от Иван Сергеевич

Здравствуйте, Anatole!

Дело в том, что обычно линк не указывается, если соединение с БД уже установлено. В этом случае соединение используется по умолчанию. А вот если ни одного установленного соединения не было найдено, производится попытка соединиться с БД. Значения параметров по умолчанию таковы:
server = 'localhost:3306',
username = имя пользователя владельца процесса сервера
password = пустой пароль

Если соединение не установится, запрос не выполнится.
Как таковой проблемы с передачей линка нет:

// Подключаемся к БД:
$db = mysql_connect(SERVER, USER, PASSWORD);

// работаем с базой, оба способы рабочие:
mysql_query($query);
mysql_query($query, $db);

Т.е. мы можем опускать линк на связь с MySQL (переменная $db в нашем случае), т.к. система сама его будет использовать. Обычно линк используется, если существует несколько подключений к различным серверам MySQL (или к разным базам данных)


Консультировал: Иван Сергеевич
Дата отправки: 19.05.2008, 14:37

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Здравствуйте, Anatole!
Добавлю к ответу, что данные для подключения по умолчанию для функции mysql_connect () определены в файле php.ini, при чём в документации по PHP не рекомендовано их там устанавливать, более того на хостингах обычно не устанавливают параметры по умолчанию для этой функции(точнее оставляют пароль пустым, как было сказано), то есть лучше всего выполнять функции в нормальном порядке и со своими параметрами... (а нагрузка на сервер не меняется)


Консультировал: Jan
Дата отправки: 19.05.2008, 14:50

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Ответ # 224081 от Peremordit

!!!
Здравствуйте, Anatole!
В описании mysql_query(string query [,int link_identifier]) говорится:
------------------
Эта функция посылает запрос query базе данных, связанной с идентификатором link_identifier Если идентификатор не указан, то принимается во внимание последнее открытое соединение. Если до этого соединение небыло установлено, то выполняется операция mysql_connect() с параметрами по умолчанию.
------------------
Т.е. если при старте работы с базой использовалась mysql_connect(), то и не обязательно передавать второй параметр в mysql_query() - скрипт сам подхватит последнее соединение. Если соединение с базой не устанавливалось, то только тогда будет устанавливаться соединение с настройками по умолчанию.
Дальше (по утверждению некоторых знакомых) по завершении запроса, соединение закрывается [ неверное утверждение ]. Сам не проверял, так как верю в то, что нормальный админ "умолчательные" настройки подключения к базе сделает неработоспособными.

Линк на соединение с базой передавать в каждую функцию не надо, достаточно не забывать открывать соединение при старте скрипта. Ну и разумеется, закрывать по завершению работы :)

Соединение с БД закрывается функцией mysql_close; после выполнения запроса оно НЕ закрывается автоматически.
-----
• Отредактировал: Николай Владимирович / Н.В. (Профессор)
• Дата редактирования: 19.05.2008, 16:39


Консультировал: Peremordit
Дата отправки: 19.05.2008, 16:07

Рейтинг ответа:

0

[подробно]

Сообщение
модераторам

Отправлять сообщения
модераторам могут
только участники портала.
ВОЙТИ НА ПОРТАЛ »
регистрация »

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Яндекс Rambler's Top100

главная страница | поддержка | задать вопрос

Время генерирования страницы: 0.13549 сек.

© 2001-2017, Портал RFPRO.RU, Россия
Авторское право: ООО "Мастер-Эксперт Про"
Калашников О.А.  |  Гладенюк А.Г.
Версия системы: 7.41 от 25.02.2017
Бесплатные консультации онлайн