mysql_pconnect — Устанавливает постоянное соединение с сервером MySQL.


Содержание

Почему я получаю mysql_connect(): потерял соединение с сервером MySQL и как его исправить?

Мой php-код не может подключиться к базе данных mysql на моем веб-сервере. Я получаю следующую ошибку:

mysql_connect(): Потерянное соединение с сервером MySQL при чтении начального коммуникационный пакет ‘, системная ошибка: 110 в имени файла в строке 71.

Тот же код отлично работает при запуске с моей машины разработки, указывающей на базу данных mysql на сервере, на котором я пытаюсь запустить это (я скопировал файл на сервер, и я пытаюсь запустить его через ssh on этот сервер). Я проверил, что пользователь mysql в script может подключиться к базе данных с сервера, запустив mysql из командной строки ssh на этом сервере с использованием того же имени пользователя и пароля, что и в моем PHP скрипт.

Я видел эту ошибку, возникающую при использовании IP-адреса серверов, когда он ожидает, что localhost будет адресом сервера.

Это потому, что сервер является машиной mysql, но не тот хост, входящий в систему. Попробуйте использовать localhost.

Mysql_pconnect — Устанавливает постоянное соединение с сервером MySQL.

Сегодня PHP предоставляет нам выбор между двумя типами подключений к базам данных: обычное подключение и так называемое постоянное подключение (persistent connection).

Хоть это и относится к различным SQL-базам, но разницы в подходе нет почти никакой; по обыкновению, мы будем рассматривать пример с MySQL.

В последнее время тема постоянных соединений довольно часто поднимается на моем форуме (http://forum.kurepin.ru), хочу, как говорится, внести некоторую ясность в этот вопрос.

Принципиальное отличие традиционного соединения от постоянного заключается в самом названии — «постоянное» соединение.

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

После завершения работы скрипта PHP не закрывает соединение, а продолжает его сохранять, раздавая указатели на него другим скриптам, и даже если ваш скрипт завершается вызовом mysql_close(), это ничуть не помешает PHP сохранить persistent connection.

Когда же на самом деле «умрет» соединение? Конечно, соединение не может жить само по себе, оно живет в оперативном пространстве работающего экземпляра (child) apache. И как только child перестает существовать, с ним «умирает» и постоянное соединение.

Каковы же минусы и плюсы постоянного подключения к базе данных?

Минусов, скажу я вам, практически нет. Просто надо быть осторожным, чтобы количество «детей» apache не превышало параметра max_user_connection в настройках MySQL. Дело в том, что каждый экземпляр apache работает независимо от других, поэтому создает свое собственное постоянное соединение, и если количество «детей» apache (а вместе с ним и количество постоянных соединений) превысит максимально допустимое значение MySQL, возникнет ошибка подключения к базе данных. Чтобы подобных ошибок не происходило, убедитесь, что параметр apache MaxClient не превышал параметра MySQL max_user_connection. А заодно следите за тем, чтобы в ваших скриптах не смешивались постоянные и обычные «короткие» подключения к базе данных. Это тоже может вызвать переполнение допустимого значения одновременных подключений.

Теперь о плюсах. В качестве несомненного плюса выступает скорость соединения с базой данных. Фактически, каждый скрипт, вызывающий функцию подключения к базе, не производит еще одного подключения, а задействует уже существующее соединение, к тому же не закрывая его. Очевидно, что времени на выполнение такого «подключения» нужно намного меньше, чем при обыкновенном (временном) подключении. С постоянным подключением мы ускоряем скорость соединения и снижаем нагрузку на сервер.

Лично я на сегодняшний момент использую постоянные подключения, чтобы снизить нагрузку на сервер. По большей части — я доволен результатами работы pconnect.

Функция Mysqli_connect

Функция Mysqli_connect устанавливает новое соединение с сервером MySQL.
Параметр Host определяет имя хоста или IP адрес сервера, где установлена база MySQL. Данный параметр может принимать параметр NULL или Localhost, что будет означать подключение к локальном серверe, на котором запущен скрипт.

В параметре Username указывается имя пользователя MySQL.

Параметр Password должен содержать пароль.

Параметр Dbname определяет имя базы данных при выполнении запросов.

Параметр Port содержит номер порта для подключения к серверу MySQL.

Параметр Socket задает сокет, который необходимо использовать.

В случае успеха функция Mysqli_connect возвращает Object, представляющий связь с базой данных, или FALSE в противном случае.

Пример использования:
Например, если мы введем неправильный пароль, будет отображаться ошибка:
Если неверная база данных:
Если неправильный хост:
Опишем объект результата:

Создание соединения с БД MySQL разными способами

Без соединения с базой данных (БД) сегодня не работает практически ни один сайт. поэтому и мы рассмотрим как соединяться с MySQL при помощи php.

Создание соединения разными способами:

1) старый дедовский способ подключения к MySQL:

$conn=mysql_connect($db_hostname, $db_username, $db_password) or die («Нет подключения к серверу»);
mysql_select_db($db_database,$conn) or die («Нет удалось соединиться с БД»);

— пояснения к переменным ниже.

При этом используются функции:

  • mysql_connect() — для подключения к серверу;
  • mysql_select_db() — для подключения к БД;

При этом постоянно проверяем на наличие ошибки таким способом: or die («Ошибка такая то»); — переводится как или умри с такой-то ошибкой — чтобы сразу найти где ошибка.

Пример соединения с БД на php с выборкой из таблицы

config.php

// переменные для соединения с БД
$host = ‘localhost’; / хост
$username = ‘root’; // пароль для подключения к БД
$password = »; // пароль для подлючения к базе данных — на локальном компьютере он может иметь пустое значение.
$database_name = ‘my-dolgi’; // имя БД

// старый способ соедения с БД
mysql_connect($host, $username, $password) or die(«Не могу соединиться создать соединение»);

// выбрать БД. Если ошибка — вывести
mysql_select_db($database_name) or die(mysql_error());

index.php

// Выполнить запрос. Если ошибка — выводим
$result = mysql_query(‘SELECT Name, Money FROM Dolg ORDER BY Money DESC LIMIT 5’) or die(mysql_error());

echo «Кому я должен по убыванию:

// Выборка результатов запроса
while ( $row = mysql_fetch_assoc($result) ) <
echo $row[‘Name’] . » с долгом » . $row[‘Money’] . » рублей.
«;
>

// освобождение используемой памяти
mysql_free_result($result);

// Закрываем соединение
mysql_close();

2) Более прогрессивный процедурный стиль — соединение с БД при помощи mysqli:

  1. удобнее;
  2. быстрее до 40 раз;
  3. повышена безопасность;
  4. есть новые возможности и функции;

Пример соединения с БД на php с выборкой из таблицы

config.php

// соедения с БД
$link = mysqli_connect(‘localhost’, ‘username’, ‘password’, ‘name-database’); // тут вводим прям данные ваши: имя юзера, пароль и имя БД, первое поле обычно localhost

// вывод ошибки соединения
if (!$link) <
echo «Ошибка подключения к БД. Код ошибки: » . mysqli_connect_error();
exit;
>

. Обратите внимание — везде используется mysqli , а не mysql .

index.php

// Выполнить запрос. Если ошибка — выводим
if ($result = mysqli_query($link, ‘SELECT Name, Money FROM Dolg ORDER BY Money DESC LIMIT 5’)) <

echo «Кому я должен по убыванию:

// Выборка результатов запроса
while ( $row = mysqli_fetch_assoc($result) ) <
echo $row[‘Name’] . » с долгом » . $row[‘Money’] . » рублей.
«;
>

// освобождение используемой памяти
mysqli_free_result($result);

Как видим, некоторые моменты поменялись (выделены курсивом).

3) Объектно-ориентированный метод подключения к бд MySQL — с помощью методов и классов:

Минусы: сложнее и менее восприимчив к ошибкам.

Плюсы: краткость и удобство для программистов с опытом.

$conn = new mysqli($db_hostname, $db_username, $db_password, $db_database);
if($conn->connect_errno) <
die($conn->connect_error);
> else

тут в принципе все интуитивно понятно:


  • $db_hostname — это хост (в основном localhost),
  • $db_database — имя БД;
  • $db_username и $db_password — имя пользователя и пароль соответственно!

Пример соединения с БД на php стиль ООП с выборкой из таблицы

config.php

// соедения с БД
$mysqli = new mysqli (‘localhost’, ‘username’, ‘password’, ‘name-database’); // тут вводим прям данные ваши: имя юзера, пароль и имя БД, первое поле обычно localhost

// вывод ошибки соединения
if ($mysqli->connect_error) <
die (‘Ошибка подключения к БД: ( ‘ . $mysqli->connect_errno . ‘) ‘ . mysqli_connect_error ) ;
>

. Обратите внимание — везде используется mysqli , а не mysql . и в отличие от предыдущего метода появляются стрелочки «->», которые показывают, что это стиль ООП.

index.php

// Выполнить запрос. Если ошибка — выводим
if ($result = $mysqli->query(‘SELECT Name, Money FROM Dolg ORDER BY Money DESC LIMIT 5’)) <

echo «Кому я должен по убыванию:

// Выборка результатов запроса
while ( $row = $result->fetch_assoc() ) <
echo $row[‘Name’] . » с долгом » . $row[‘Money’] . » рублей.
«;
>

// освобождение используемой памяти
$result->close();

Задание вам такое — найти отличия.

4) Связь с БД при помощи PDO :

При соединении с базой данных MySQL используются подготовленные выражения(методом prepare) и в результате большая безопасность и сильно увеличивает быстродействие.

config файл от предыдущего метода! — такой же

index.php

// PDO стиль для связи с MySQL
if ($stmt = $mysqli->prepare(«SELECT Name, Voney FROM Dolg ORDER BY Money bind_param(«i», $summa);
$summa = 100000;

//запускаем выполнение
$stmt->execute();

// Объявление переменных для заготовленных значений
$stmt->bind_result($col1, $col2);

echo «Кому я должен по убыванию:

// Выборка результатов запроса
while ( $stmt->fetch() ) <
echo $col1 . » с долгом » . $col2 . » рублей.
«;
>

// освобождение используемой памяти
$stmt->close();

// Закрываем соединение
$mysqli->close();

Как видим, тут намного сложнее и надо изучать PDO — это отдельная тема.

Более новые статьи:

  • Функция trim в php часто используется, потому что она очень удобна. давайте смотреть как она работает. …

«>trim функция подробно — 22/03/2020 21:58
Часто используемые функции php я решил выносить в отдельные статьи. потому что запросы обычно бывают именно целевые, то есть люди ищут именно ответ н …

«>Parse_url () функция — 22/03/2020 21:06
Часто возникает вопрос: «Как убрать копейки из цены на php?» на него и будет отвечать в этой статье на примере одной cms. …

Илон Маск рекомендует:  Iis о шифровании

Более старые статьи:

  • Для тех, кто только начинает изучать PHP — заголовки HTTP является каким-то туманом, который почему-то не особо приятный. давайте его рассеивать. Люб …

«>Заголовки HTTP через PHP
Часто в PHP нужно вывести все файлы и каталоги в виде списка. это нужно, чтобы нам сразу узнать где у нас, чего и сколько. давайте приступать. …

«>PHP вывод файлов и каталогов директории
На PHP часто нужна загрузка файлов на сервер. приятно же, если у вашего сайта есть возможность загружать файлы на сайт: картинки или другие текстовые …

3 способа подключения к MySQL с помощью PHP с примерами кода

Главное меню » Базы данных » База данных MySQL » 3 способа подключения к MySQL с помощью PHP с примерами кода

В этом руководстве описывается следующие три метода вместе с соответствующей программой примера на PHP, которая объяснит, как подключиться с помощью PHP к базе данных MySQL.

  • Подключение с помощью расширения Mysqli (рекомендуется)
  • Подключение с помощью PDO (рекомендуется)
  • Подключение с помощью традиционных функций устаревших mysql_ (устар)

Для этого необходимо установить пакет PHP-MySQL.

На основе дистрибутива RedHat включая CentOS, использовать yum для установки PHP-MySQL, как показано ниже.

В зависимости от вашей системы, выше будем устанавливать или обновлять следующие зависимости:

После того, как все установлено, страница phpinfo будет отображать MySQL модуль, как показано ниже:

Для всех приведенных ниже примеров, мы будем подключаться к базе данных MySQL, которая уже существует. Если вы новичок в MySQL, это хорошее место, чтобы начать: MySQL – Руководство для начинающих.

Примечание: Все, что описано здесь также будет работать с MariaDB, как это работает на MySQL.

1. Подключение на PHP с использованием расширения Mysqli

MySQLi означает MySQL Improved.

Обратите внимание, что в большинстве дистрибутивов (например: CentOS), PHP-MySQLi уже является частью пакета PHP-MySQL. Таким образом, вам не придется искать и устанавливать пакет PHP-MySQLi. Все, что вам нужно сделать, это установить пакет PHP-MySQL, чтобы получить работающее расширение Mysqli на вашей системе.

Создайте следующий файл mysqli.php в DocumentRoot вApache:

В приведенном выше:

  • MySQLi – Эта функция будет инициировать новое соединение, используя расширение Mysqli. Эта функция будет принимать четыре аргумента:
    1. Имя хоста, где база данных MySQL работает
    2. Имя пользователя для подключения MySQL
    3. Пароль для пользователя mysql
    4. База данных MySQL для подключения.
  • Функция запроса – Используйте ее, чтобы указать ваш запрос MySQL. В этом примере, мы выбираем столбец имени из базы данных employee.
  • Наконец, мы отображаем количество строк, выбранных с помощью переменной num_rows. Мы также закрываем соединение, как показаны выше.

При вызове mysqli.php из вашего браузера, вы увидите следующий вывод, что свидетельствует о том, что PHP был в состоянии подключиться к базе данных MySQL и сделать выборку данных.

Примечание: Если вы пытаетесь подключиться к удаленной базе данных MySQL, то вы можете сделать это, чтобы избежать ошибки запрета подключения к хосту: Как разрешить клиенту MySQL подключиться к удаленному серверу MySQL.

2. Подключение при помощи PHP к MySQL с расширением PDO

PDO означает PHP Data Objects.

PDO_MYSQL реализует интерфейс PDO, предоставляемый РНР для подключения программы к базе данных MySQL.

В большинстве дистрибутивов Linux (например, CentOS и RedHat), PHP-PDO пакет уже входит в пакет PHP-MySQL. Таким образом, вам не придется искать и устанавливать пакет PHP-PDO. Все, что вам нужно сделать, это установить пакет PHP-MySQL, чтобы получить работающее расширение PDO_MYSQL PHP в вашей системе.

Создайте следующий файл MySQL-pdo.php в вашим Apache DocumentRoot:

В приведенном выше:

  • новый PDO – Создаст новый объект PDO, который будет принимать следующие три аргумента:
    1. Строка подключения MySQL: будет в формате “mysql:host=$hostname;dbname=$dbname”. В приведенном выше примере, БД работает на локальном хосте, и мы подключаемся к базе данных andreyex.
    2. Имя пользователя для подключения к MySQL.
    3. Пароль для пользователя mysql.
  • $sql variable – создание запроса SQL, который вы хотите выполнить. В этом примере, мы выбираем столбец name из таблицы employee.
  • query($sql) – здесь мы выполняем SQL запрос, который мы только что создали.
  • foreach – вот здесь мы пробегаем по вышеуказанным командам и сохраняем их в переменной строке $, а затем мы показываем их с помощью команды печати.
  • В MySQL PDO, чтобы закрыть соединение, просто обнулите значение переменной $conn.


При вызове mysqli.php из вашего браузера, вы увидите следующий вывод, что свидетельствует о том, что PHP был в состоянии подключиться к базе данных MySQL и сделать выборку данных.

3. Подключение на PHP с использованием функций mysql_ (устар)

Используйте этот метод, только если вы используете более старую версию PHP и не можете обновить ее до новой версии по какой-то причине.

Рекомендуется использовать метод #2 и #3, показанный выше, вместо этого метода. Я включил этот метод только для справки, а не как рекомендация к использованию.

Это устаревшее расширение PHP 5.5 версии. Но начиная с PHP 7.0 версии, это не будет работать, так как она была удалена.

Начиная с PHP 5.5 версии, когда вы используете эти функции, они будет генерировать ошибку E_DEPRECATED.

Создайте следующий файл MySQL-legacy.php под Apache DocumentRoot:

В приведенном выше:

  • Функция mysql_connect принимает три аргумента: 1) имя хоста, где база данных MySQL работает, 2) Имя пользователя для подключения к MySQL, 3) Пароль для пользователя MySQL. Здесь подключаемся к базе данных MySQL, которая выполняется на локальном сервере, используя имя пользователя root и его пароль.
  • Функция mysql_select_db – Как следует из названия, будет выбирать базу данных, к которой вы хотите подключиться. Это эквивалентно команде «use». В этом примере мы подключаемся к базе данных andreyex.
  • Функция mysql_query – Используйте ее, чтобы указать ваш запрос MySQL. В этом примере, мы выбираем столбец name из базы данных employee.
  • mysql_fetch_row – используйте эту функцию для извлечения строк из запроса SQL, который мы только что создали.
  • Наконец закрыть соединение с помощью команды mysql_close, как показано выше.

При вызове MySQL-legacy.php из вашего браузера, вы увидите следующий вывод, что свидетельствует о том, что PHP был в состоянии подключиться к базе данных MySQL и сделать выборку данных.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

PHP connect MySQL | Подключение к базе данных

Ранее мы рассматривали скрипт для подключения к базе данных MySQL, который использует php connect mysql. Сегодня мы поговорим о том как работает этот скрипт.

PHP connect MySQL базовые знания:

Как подключиться к базе данных MySQL с помощью PHP функций.

fetch_object — основная функция для получения обьекта из MySQL.

Для начала нам нужно создать переменные с настройками:

Мы объявили переменные с настройками к базе данных. Теперь можно подключаться к базе.

Проверяем подключение на наличие ошибок:

Теперь можно выполнять нужные нам операции с базой данных. Для примера получим все данные из таблицы:

И не забываем в конце закрыть подключение к базе данных MySQL функцией:

Теперь мы научились пользоваться базой данных. Это минимальные знания для работы с базой данных.

Mysql_pconnect — Устанавливает постоянное соединение с сервером MySQL.

Ниже расскажу о том, как настроить удаленное подключение к Linux серверу с установленным MySQL, представим ситуацию — есть два сервера, на одном планируется развернуть WEB сервер, на другом сервер БД, это хорошая практика, так сказать первый шаг к масштабируемой структуре, итак начнем.

О том, как настроить LAMP на RHEL рассказано здесь и здесь, касаться установки и базовой настройки служб не буду, представим, что эти этапы уже пройдены.

Разрешаем удаленное подключение к MySQL

Первым делом смотрим что прослушивает наш MySQL:

Обратим внимание на 0 0.0.0.0:3306 т.е. из состояния видно, что сервер «слушает» подключения локально, дабы разрешить удаленные подключения необходимо закомментировать параметр skip-networking и добавить параметр bind-address в раздел [mysqld] файла my.cnf:

где bind-address, адрес сервера на котором установлен MySQL, перед тем, как производить вышеуказанные действия необходимо убедиться, что хост нормально «видит» себя:

сохраняем файл, перезапускаем сервис mysql:

и проверяем состояние:

отлично, далее необходимо создать базу и разрешить к ней подключение, как это сделать расскажу на примере phpMyAdmin, после входа в административную часть phpMyAdmin необходимо перейти на вкладку Privileges и добавить пользователя mysql — Add user, в данном случае интересует параметр Host, в выпадающем списке необходимо выбрать Use text field и указать IP адрес WEB сервера или сервера с которого будет производиться подключение к БД, подобные действия из терминала:

Создать базу и дать привилегии из терминала mysql

Дать привилегии к существующей базе mysql из терминала

Разрешить доступ с любого хоста ко всем базам на сервере

Разрешить удаленные подключения к MySQL в Iptables

Проверка удаленного подключения к MySQL

Проверяем прослушку порта 3306 на сервере БД:

Примечание: перед проверкой не забываем проверить настройки файервола на БД сервере

Если сервер не отклоняет запрос, пытаемся произвети подключитение к серверу из-под пользователя user:

Если подключение происходит нормально, перенастраиваем подключение к БД на своей CMS.

Mysql_pconnect — Устанавливает постоянное соединение с сервером MySQL.

Joined: 23 Jan 2004
Posts: 6

Location: Волгоград

Posted: Fri Jan 23, 2004 1:14 am ()
Post subject: Проблема с MySQL
Прежде всего хочу поблагодарить создателей данного пакета. Разместив все необходимые компоненты вы создали такую программу, без которой многим разработчикам сайтов стало бы трудно жить. Пользуюсь этим пакетом уже некоторое время, он здорово экономит время и деньги. Спасибо.
Но сегодня у меня возникла проблема.
А проблема следующего рода: при попытке запустить localhost/phpmyadmin/ появляется сообщение:

Добро пожаловать в phpMyAdmin 2.3.0

Can’t connect to MySQL server on ‘localhost’ (10061)

Знаю, знаю, сейчас вы посоветуете мне воспользоваться поиском и почитать FAQ (так как подобные вопросы уже встречались), но я это уже неоднократно делал, проштудировал все статьи, которые смог найти на вашем форуме. Но нигде не смог найти решения своей проблемы. Возможные варианты решения проблемы не подошли. В папке C:\WinNT файлы вида my.* не обнаружены, нет таких файлов и на всем диске. Файрволлы все отключены, отключил по-моему все что можно, но все равно возникат эта ошибка. В файл hosts запись возможна. В списке процессов показан mysqld-max.exe, но MySQL не работает, проверка «Интернет»-доменов второго и третьего уровня не работает, но страница localhost загружается и остальные проверки работают.
Самое интересное, что до этого все работало, еще утром все было в порядке, а вечером пришел домой, включил компьютер и появились вот такие проблемы с MySQL. Переустановка Денвер ничего не дала.
Параметры моей системы:
Windows XP Pro SP1
Пакет Base_2004-01-04_a1.3.27_p4.3.0_m3.23.53_pma2.3.0.exe

Вроде все, что мог, описал. Если что забыл, то допишу позже.
Очень прошу помочь с разрешением этой проблемы, я уже перепробовал все советы, что смог найти на форуме. Если можно, напишите в ICQ 202092729 или на форуме

Back to top Дмитрий Котеров
Администратор

Joined: 10 Mar 2003
Posts: 13665

Posted: Fri Jan 23, 2004 2:21 am ( спустя 1 час 7 минут )
Post subject:
Voyager wrote:
В списке процессов показан mysqld-max.exe, но MySQL не работает

Вот это уже говорит о том, что проблема с сетью, а не с MySQL — вернее, с сетевыми протоколами. Попробуйте сделать:

Code ( Windows BAT file ): скопировать код в буфер обмена

Если подключение пройдет успешно, значит, с сетью все в порядке, и надо искать ошибки в PHP-коде подключения к MySQL.

Кроме того, запустите

Code ( Windows BAT file ): скопировать код в буфер обмена

и посмотрите, на каких портак кто у Вас что слушает (MySQL должен быть на 3306).

Также попробуйте отключить антивирус. Ну и посмотрите в логи MySQL, конечно.

Back to top Voyager
Заглянувший

Joined: 23 Jan 2004
Posts: 6

Location: Волгоград

Posted: Fri Jan 23, 2004 8:07 pm ( спустя 17 часов 45 минут )
Post subject:
Спасибо за ответ.
Попробовал сделать то, что вы советовали, и вот что получилось:
При запуске telnet localhost 3306
появляется сообщение:

Подключение к localhost. Не удалось открыть подключение к этому узлу, на порт 3306: Сбой подключения

При запуске netstat -a > c:\a.txt получаю:

Имя Локальный адрес Внешний адрес Состояние
TCP 7wfdnsur023525a:epmap 0.0.0.0:0 LISTENING
TCP 7wfdnsur023525a:microsoft-ds 0.0.0.0:0 LISTENING
TCP 7wfdnsur023525a:1025 0.0.0.0:0 LISTENING
TCP 7wfdnsur023525a:1027 0.0.0.0:0 LISTENING
TCP 7wfdnsur023525a:3389 0.0.0.0:0 LISTENING
TCP 7wfdnsur023525a:3659 0.0.0.0:0 LISTENING
TCP 7wfdnsur023525a:5000 0.0.0.0:0 LISTENING
TCP 7wfdnsur023525a:http 0.0.0.0:0 LISTENING
TCP 7wfdnsur023525a:http 127.0.0.1:3659 FIN_WAIT_2
TCP 7wfdnsur023525a:3001 0.0.0.0:0 LISTENING
TCP 7wfdnsur023525a:3002 0.0.0.0:0 LISTENING
TCP 7wfdnsur023525a:3003 0.0.0.0:0 LISTENING
TCP 7wfdnsur023525a:3306 0.0.0.0:0 LISTENING
TCP 7wfdnsur023525a:3659 127.0.0.1:http CLOSE_WAIT
UDP 7wfdnsur023525a:epmap *:*
UDP 7wfdnsur023525a:microsoft-ds *:*
UDP 7wfdnsur023525a:isakmp *:*
UDP 7wfdnsur023525a:1026 *:*
UDP 7wfdnsur023525a:ntp *:*
UDP 7wfdnsur023525a:1900 *:*
UDP 7wfdnsur023525a:3654 *:*

Насчет логов:
mysql.err
\usr\local\mysql\bin\mysqld-max.exe: ready for connections

Кстати, внезапно проверки «Интернет»-доменов второго и третьего уровня заработали, но MySQL по пржнему выдает ошибку.
В общем, я не знаю, почему произошло резкое изменение работы системы.

Last edited by Voyager on Fri Jan 23, 2004 8:09 pm; edited 1 time in total

Back to top Дмитрий Котеров
Администратор

Joined: 10 Mar 2003
Posts: 13665

Posted: Sat Jan 24, 2004 2:54 am ( спустя 6 часов 46 минут )
Post subject:
Voyager wrote:
TCP 7wfdnsur023525a:3306 0.0.0.0:0 LISTENING

А что такое «7wfdnsur023525a»? Он на нем явно слушает. Если это имя машины у Вас такое, то не позавидуешь.

По-моему, он теперь сдушает на 7wfdnsur023525a, а не на localhost. Ищите в my.cnf (по всему диску ищите этот файл) команду bind-address и смотрите, что там (должно быть 127.0.0.1, т.е. localhost).


Кстати, а у Вас не многовато портов слушает? Троянов небось, как в зоопарке?

Back to top Voyager
Заглянувший

Joined: 23 Jan 2004
Posts: 6

Location: Волгоград

Posted: Sat Jan 24, 2004 10:52 am ( спустя 7 часов 58 минут )
Post subject:
Дмитрий Котеров:

Quote:
А что такое «7wfdnsur023525a»?

Имя компьютера.

Quote:
my.cnf

Я же написал, что такого файла (и в частности вида my.*) на всем диске нет.

Quote:
Троянов небось, как в зоопарке?

У меня с этим строго — ни одного. Не такой уж я и ламер. :)
Просто это обычные службы Windows XP запущены.
В общем даже не знаю, в чем может быть проблема. Сам удивляюсь.

Back to top Дмитрий Котеров
Администратор

Joined: 10 Mar 2003
Posts: 13665

Posted: Sat Jan 24, 2004 8:42 pm ( спустя 9 часов 49 минут )
Post subject:
Voyager wrote:
Я же написал, что такого файла (и в частности вида my.*) на всем диске нет.

И куда же он делся из /usr/local/mysql/data, позвольте спросить? Восстанавливайте.

Back to top Guest

Posted: Sun Jan 25, 2004 12:07 am ( спустя 3 часа 25 минут )
Post subject:
Здравствуйте. У меня — та же проблема. Не подскажете, как можно восстановить файлы my.*, если при установке Денвера они не появляются?
Back to top Дмитрий Котеров
Администратор

Joined: 10 Mar 2003
Posts: 13665

Posted: Sun Jan 25, 2004 1:11 am ( спустя 1 час 4 минуты )
Post subject:
Как-так — не появляются? Должны появляться. См. \usr\local\mysql\data
Back to top Guest

Posted: Sun Jan 25, 2004 1:30 am ( спустя 18 минут )
Post subject:
Проверила еще раз. Отсутстуют. Либо не появлялись (что, согласна, странно; особенно учитывая, что еще недавно все работало), либо они почему-то удаляются.
Back to top Дмитрий Котеров
Администратор

Joined: 10 Mar 2003
Posts: 13665

Posted: Sun Jan 25, 2004 1:53 am ( спустя 23 минуты )
Post subject:
Версия Денвера какая?
Back to top Guest

Posted: Sun Jan 25, 2004 2:02 am ( спустя 8 минут )
Post subject:
Последняя, 2004-01-04.
Back to top Дмитрий Котеров
Администратор

Joined: 10 Mar 2003
Posts: 13665

Posted: Sun Jan 25, 2004 4:24 am ( спустя 2 часа 22 минуты )
Post subject:
Вот Вам my.cnf, подожите его в z:\usr\local\mysql\data\my.cnf.
Инсталлятор, случайно, никаких сообщений об ошибках при установке не выдавал?
Я просто попробовал его только что запустить — все нормально создалось.

Last edited by Дмитрий Котеров on Sun Jan 25, 2004 4:24 am; edited 1 time in total

Back to top Дмитрий Котеров
Администратор

Joined: 10 Mar 2003
Posts: 13665

Posted: Sun Jan 25, 2004 4:24 am ( спустя 23 секунды )
Post subject:

# Example mysql config file.
# Copy this file to c:/my.cnf to set global options
#
# One can use all long options that the program supports.
# Run the program with —help to get a list of available options

# Here is entries for some specific programs
# The following values assume you have at least 32M ram

# The MySQL server
[mysqld]
bind-address=127.0.0.1
tmpdir=/tmp
character-sets-dir=/usr/local/mysql/share/charsets

#socket=MySQL
port=3306
skip-locking
default-character-set=win1251
set-variable = key_buffer=5M
set-variable = max_allowed_packet=1M
set-variable = thread_stack=128K
set-variable = flush_time=1800

# Uncomment the following rows if you move the MySQL distribution
# to another location
basedir = /usr/local/mysql/
datadir = /usr/local/mysql/data/

# Uncomment the following rows if you are using InnoDB tables
# Create the directories ibdata and iblogs before to start the server.
# If necessary, modify the size of the files

innodb_data_file_path = ibdata1:10M
innodb_data_home_dir = /usr/local/mysql/ibdata
set-variable = innodb_mirrored_log_groups=1
innodb_log_group_home_dir = /usr/local/mysql/ibdata
set-variable = innodb_log_files_in_group=3
set-variable = innodb_log_file_size=5M
set-variable = innodb_log_buffer_size=1M
innodb_flush_log_at_trx_commit=1
innodb_log_arch_dir = /usr/local/mysql/ibdata
innodb_log_archive=0
set-variable = innodb_buffer_pool_size=10M
set-variable = lower_case_table_names =0
set-variable = innodb_additional_mem_pool_size=5M
set-variable = innodb_file_io_threads=4
set-variable = innodb_lock_wait_timeout=50

# Uncomment the following row if you are using a Max server and
# you don’t want the InnoDb tables
skip-innodb
#skip-bdb

Code ( any language ): скопировать код в буфер обмена
Back to top Voyager
Заглянувший

Joined: 23 Jan 2004
Posts: 6

Location: Волгоград

Posted: Sun Jan 25, 2004 12:48 pm ( спустя 8 часов 24 минуты )
Post subject:
Дмитрий Котеров:

Quote:
И куда же он делся из /usr/local/mysql/data, позвольте спросить?

Извиняюсь, просто неправильно выразился. В папке пакета Денвера он есть, но я Денвер переустанавливал (удалял прежний пакет), и все равно такая проблема оставалась.

Back to top Дмитрий Котеров
Администратор

Joined: 10 Mar 2003
Posts: 13665

Posted: Sun Jan 25, 2004 6:17 pm ( спустя 5 часов 28 минут )
Post subject:
Какая «такая проблема»?
Back to top Полина
Guest

Posted: Sun Jan 25, 2004 9:31 pm ( спустя 3 часа 14 минут )
Post subject:
Дмитрий Котеров wrote:
Вот Вам my.cnf, подожите его в z:\usr\local\mysql\data\my.cnf.
Инсталлятор, случайно, никаких сообщений об ошибках при установке не выдавал?
Я просто попробовал его только что запустить — все нормально создалось.

Сделала. Заработало! Спасибо.
А инсталятор ошибок не выдавал, наверно, это после установки что-то сбилось.

Back to top Voyager
Заглянувший

Joined: 23 Jan 2004
Posts: 6

Location: Волгоград

Posted: Thu Jan 29, 2004 11:52 am ( спустя 3 дня 14 часов 21 минуту )
Post subject:
Дмитрий Котеров: Большое вам спасибо! Все заработало. В файл my.cnf я внес данные, которые вы выложили в этой теме.
Back to top Дмитрий Котеров
Администратор

Joined: 10 Mar 2003
Posts: 13665

Posted: Thu Jan 29, 2004 12:56 pm ( спустя 1 час 4 минуты )
Post subject:
Самое смешное, что этот же файл идет и в дистрибутиве Денвера и ставится в нужную директорию. Куда он у Вас всех подевался оттуда — загадка века.
Back to top Voyager
Заглянувший

Joined: 23 Jan 2004
Posts: 6

Location: Волгоград

Posted: Thu Jan 29, 2004 8:35 pm ( спустя 7 часов 38 минут )
Post subject:
Дмитрий Котеров: Действительно, это странно. Видимо это проблема бывает в Win XP.
Back to top KаMPiLeR
Guest

Posted: Thu Feb 12, 2004 8:04 pm ( спустя 13 дней 23 часа 28 минут )
Post subject:
извеняйте что поднимаю тему, чтоб потом не обвинили что не ходил в поиск.

проблема при подключении к серверу MySql извне.

денвер запущен все нормально работает, но при попытке внешней программы по ODBC получить доступ, доступа нету.
настраиваю ODBC —

Code ( any language ): скопировать код в буфер обмена

пробую настроить ODBC на машине где стоит денвер: тож самое, когда пишу localhost — конектится успешно, а по имени машины нет.

на всякий случай попробывал telnet:
при подключении (все делаю на машине где стоит денвер)

Code ( Windows BAT file ): скопировать код в буфер обмена

подключается, пишется какая версия и рожицы.

а при подключении

Code ( Windows BAT file ): скопировать код в буфер обмена

соединения нету.
т.е. с других машин по ODBC никак не законектишься.

пробывал подкладывать указанный здесь файл my.cnf — не помогает.
менял строку

Code ( any language ): скопировать код в буфер обмена

на

Code ( any language ): скопировать код в буфер обмена

не помогает.

попробывал посмотреть в настроечный файл my.cnf, сравнил его с mysql не из денвера.
там есть такая секция называется

Code ( any language ): скопировать код в буфер обмена

добавлял — не помогает.

ЗЫЖ Дмитрий, а Вы купили бубен? дайте попользоваться.

Back to top Дмитрий Котеров
Администратор

Joined: 10 Mar 2003
Posts: 13665

Posted: Thu Feb 12, 2004 10:35 pm ( спустя 2 часа 31 минуту )
Post subject:
KаMPiLeR wrote:
bind-address=*

Так, наверное, нельзя писать. Попробуйте вообще убрать эту директиву. В Денвере по умолчанию слушается только localhost — по сображениям безопасности (сам пару месяцев назад хакнул товарища по локальной сети через MySQL — «Ьфекшч has you» ему с утра на черном фоне вывелось).

А еще посмотрите в Z:\etc\scripts\init.d\mysql.pl — там есть строчка:
«—bind-address=127.0.0.1»,

Может, ее тоже следует убрать.

Back to top Дмитрий Котеров
Администратор

Joined: 10 Mar 2003
Posts: 13665

Posted: Thu Feb 12, 2004 10:36 pm ( спустя 42 секунды )
Post subject:
(Насчет бубна — не купил, к сожалению. У нас тут продается один, как раз то что нужно, но стоит 100$ — дороговато. А в маленьком смысла нет, не работает он.)
Back to top Guest

Posted: Fri Feb 13, 2004 11:47 am ( спустя 13 часов 11 минут )
Post subject: без бубена — и получилось
поправил скриптик Z:\etc\scripts\init.d\mysql.pl
заремарил эту строчку и стало все ок.

а на счет хака — я пока тока сменил пароль root-у, который пытается из вне, который не root@localhost, а root@%.
и удалил пользователей с пустыми паролями и именами.

а Вы как взломали его? мож подскажите — придумаем как закрыться, а то у нас тут в локалке появились рукастые парни, которые хотят мне отомстить за то что я им mssql завалил.

Back to top Дмитрий Котеров
Администратор

Joined: 10 Mar 2003
Posts: 13665

Posted: Fri Feb 13, 2004 12:12 pm ( спустя 24 минуты )
Post subject:
Не светите рутовый пароль и не давайте обычным пользователям права на select into outfile (или не светите и их пароли тоже).
Back to top Guest

Posted: Fri Feb 13, 2004 2:38 pm ( спустя 2 часа 26 минут )
Post subject:
дык и не светим. а ничего что root@localhost без пароля, если считать что физического доступа к серверу нету у врагов?
а простые пользователи у меня имеют права только на SELECT, UPDATE, DELETE и INSERT. select into file где выставлять я не нашел — это на конкретные таблицы выставляются или от пользователей?
Back to top Дмитрий Котеров
Администратор

Joined: 10 Mar 2003
Posts: 13665

Posted: Fri Feb 13, 2004 3:30 pm ( спустя 52 минуты )
Post subject:
Это выставляется на пользователей (а может, даже на базы данных). Ищите в документации.
Back to top Игорь111
Guest

Posted: Fri Feb 20, 2004 1:47 pm ( спустя 6 дней 22 часа 17 минут )
Post subject:
А меня такая же фигня!
Не работает MY SQL
и даже в списке процессов его нет.
и файл ентот .cnf поменял
все равно
Back to top WildCat
Guest

Posted: Sat Feb 21, 2004 10:51 pm ( спустя 1 день 9 часов 3 минуты )
Post subject:
У меня версия Base_2004-01-04_a1.3.27_p4.3.0_m3.23.53_pma2.3.0
Сервер стал нормально, localhost и myphpadmin работают на ура. Попробовал установить нюку. Создал ей необходимые таблицы, пишу localhsot/nuke/ и вместо главной страницы портала получаю ошибку:


Code ( any language ): скопировать код в буфер обмена

В общей сложности это сводится к отсутствию коннекта к скуле (процесс mysqld-max присутствует). Попробовал задать логин/пароль с помощью localhost/addmuser.php — ругается, говорит, что юзер root уже существует (у меня до этого стояла связка apache+php+mysql. Все корректно деинсталлировано перед установкой денвера). Попробовал создать root2, выдал ошибку пароля:

Code ( any language ): скопировать код в буфер обмена

И все. Ни туда, ни назад.

Code ( any language ): скопировать код в буфер обмена

выдает версию и рожицу

Back to top Дмитрий Котеров
Администратор

Joined: 10 Mar 2003
Posts: 13665

Posted: Sat Feb 21, 2004 11:46 pm ( спустя 54 минуты )
Post subject:
WildCat wrote:
выдает версию и рожицу

Значит. MySQL установлен и работает нормально.

При помощи localhost/addmuser.php создайте новую базу и пользователя (с именами, отличными от root), затем настройте phpNuke для работы с ними.

Back to top Guest

Posted: Fri Feb 27, 2004 9:58 am ( спустя 5 дней 10 часов 12 минут )
Post subject:
Скажу сразу . я с ошибкой 10061 разобрался ИМХО легко, просто переустановил Денвер в ту же директорию, где он и стоял, просто поверх старой.
Сейчас у меня правда есть проблема, котороя может от предыдущих действий то и идет, а может и нет.
В общем вот такая вещь у меня произходит. стоит php-Nuke6.9ru + Denver
При запуске форума на нюке phpBB вот что выскакивает.
phpBB: Critical Error
Could not obtain ban information
DEBUG MODE
SQL Error: 1105 File
‘.\nuke\nuke_bbbanlist.myd’
not foond YErrcode;z)
SELECT ban_ip; ban_userid, ban_email
FROM nuke_bbbanlist WHERE
ban_ip IN |’7f00001’|,|’7f000ff’|.|’7ffffff’|) OR ban_user >Line: 163
File: z:\home\test3.ru\www\include\sessions.php
Уффффф. устал печатать. вы уж не проходите мимо пжл, я поиск юзал по форуму, но ничего подходящего не нашел, новую тему как-то неудобно открывать и вот разместил свой вопрос в этом топике.
Back to top Дмитрий Котеров
Администратор

Joined: 10 Mar 2003
Posts: 13665

Posted: Sat Feb 28, 2004 4:38 am ( спустя 18 часов 40 минут )
Post subject:
Гость wrote:
phpBB: Critical Error
Could not obtain ban information
DEBUG MODE
SQL Error: 1105 File
‘.\nuke\nuke_bbbanlist.myd’
not foond YErrcode;z)

У Вас в MySQL почему-то нет этой таблицы в базе. Может, Вы ее создать забыли. Попробуйте поискать в разных readme-файлах, что поставляются вместе с php-nuke (или еще с чем-нибудь).

Back to top Guest

Posted: Sun Feb 29, 2004 11:48 am ( спустя 1 день 7 часов 9 минут )
Post subject:
Дмитрий Котеров:
Спасибо за разъяснение, правда у меня эта таблица была возможно какое-то не правильное обращение к ней шло. ну точно не могу сказать, на делитанском уровне только начинаю разбираться :(
Еще вопрос у меня есть, при разработке сайта на основе движка osCommerc есть необходимость соединяться по SSL но при нажатие на ссылку идет ответ о невозможности соединения. вопрос такой. я могу конечно ошибаться, но Денвер может скажем так эмулировать соединение по SSl, эта вещь мне нужна для заполнения конфидециальных данных.
Предполагаю решения этой проблемы в том, что или Денвер не позволяет, или не настроен нормально портал osCommerc.
Что мне на это скажете?
Back to top Евгений Галашин
Модератор

Joined: 29 Dec 2003
Posts: 1861

Posted: Sun Feb 29, 2004 1:27 pm ( спустя 1 час 39 минут )
Post subject:
Гость:
см. mod_ssl на apache.org
Денвер сам по себе такого не умеет.
Back to top ostap
Заглянувший

Joined: 25 Feb 2004
Posts: 14

Posted: Tue Mar 02, 2004 2:36 pm ( спустя 2 дня 1 час 9 минут )
Post subject: ostap
Вопросик. если я хочу в базу данных закачать содержимое тестового файла. конвертнул его как положено для команд LOAD_DATA.где мне надо изменит в настройках? в my.cnf? Подставить эти файлы —enable-local-infile
—local-infile[=1]—верно?
Back to top vworld
Участник форума

Joined: 21 Jan 2004
Posts: 24

Location: Россия

Posted: Tue Mar 02, 2004 3:40 pm ( спустя 1 час 3 минуты )
Post subject:
Евгений Галашин:
Не умет, такого какого?
Просто у меня в osCommerc есть регистрация, но она проходит при соединение по SSL , ну в общем приглашение выскакивает о безопасном соединение :), так вот как только я хочу попасть на страницу регистрации, то выскакивает страничка с невозможностью соединения :(
Вот мне и не понятно, то ли я настройки портала попутал :(, а может в Денвере не реализовано, в общем у кого нить есть опыт по соединению (эмуляции соединения) по SSL в Денвере?
Back to top Евгений Галашин
Модератор

Joined: 29 Dec 2003
Posts: 1861

Posted: Tue Mar 02, 2004 3:55 pm ( спустя 14 минут )
Post subject:
vworld:
я ж Вам сказал что джелать — ставить mod_ssl для Апача. (а он под Вин есть? =) )
Back to top Антон Макаренко
Участник форума

Joined: 05 Feb 2004
Posts: 374

Location: Киев

Posted: Wed Mar 03, 2004 7:06 pm ( спустя 1 день 3 часа 11 минут )
Post subject:
А можно ещё вопросик под шумок?

Допустим
В MySQL есть пользователи: root <без пароля>, reader <без пароля>, и, наконец, $valid_user

reader’y задал привелегии на чтение любой таблицы с любого хоста.
$valid_user’y — только чтение, удаление и добавление записей всех таблиц одной из баз данных.

1)Вобщем, пробовал подключаться как клиент:
$db=mysql_pconnect(«127.0.0.1»,$valid_user,$valid_pass);
2)- так и из командной строки:
shell>mysql -u -h127.0.0.1 -p
mysql>enter password: ********

В первом случае в браузер выводится ошибка:
Warning: mysql_pconnect() [function.mysql-pconnect]: Access denied for user: ‘moderator@localhost’ (Using password: YES) in z:\home\localhost\subdomain\administration\adding.php on line 13
Во втором случае:
ERROR 1045: Access denied for user: ‘ @localhost’ (Using password: YES)

Пробовал ещё раз назначать привелегии посредством команды GRANT — MySQL пишет в ответ, что всё ОК. Перезапускал серверы, перезапускал клиентскую сессию — всё те же ошибки. Заходил под root’ом смотреть таблицу mysql.user — там для юзера во всех столбцах по прежнему стоит ‘N’.

В чём дело? Почему пользователям без паролей доступ есть, а с паролем — нет? С такими шуточками даже на root устанавливать пароль страшновато.

Back to top Дмитрий Эсс
Участник форума

Joined: 06 Jul 2003
Posts: 2533

Location: Таллинн, Эстония

Posted: Wed Mar 03, 2004 9:09 pm ( спустя 2 часа 3 минуты )
Post subject:
Aнтон Mакаренко:
Что-то напутали при указании пароля.
Back to top ostap
Заглянувший

Joined: 25 Feb 2004
Posts: 14

Posted: Thu Mar 04, 2004 10:13 am ( спустя 13 часов 3 минуты )
Post subject:
Повторяю свой вопросик. а то его все проигнорировали. просто я ща учусь на ПХП писать и нужно разово закачать инфу. что бы проверить на правильность работы всего скрипта. Подскажите..плиз..разработчики Денвера

Вопросик. если я хочу в базу данных закачать содержимое тестового файла. конвертнул его как положено для команд LOAD_DATA.где мне надо изменит в настройках? в my.cnf? Подставить эти файлы —enable-local-infile
—local-infile[=1]—верно?

Back to top Антон Макаренко
Участник форума

Joined: 05 Feb 2004
Posts: 374

лабы по информатике, егэ

лабораторные работы и задачи по программированию и информатике, егэ по информатике

mySQL урок 2. Соединение с базой данных mysql посредством php

Соединение с базой данных посредством php

Соединение с базой данных происходит в 4 этапа:

  1. Открыть соединение с сервером
  2. Выбрать базу данных
  3. Послать запрос базе дынных
  4. Закрытие БД (не всегда)

Рассмотрим на примерах каждый этап отдельно:

Соединение с сервером посредством php

  1. Создание переменной, ассоциирующейся с соединением с сервером mySql:

Функция языка php mysql_connect — открывает соединение с сервером MySQL. Три параметра функции:

  1. «localhost» — сервер, при работе локально указывается значение «localhost»
  2. «root» — имя пользователя, при работе локально обычно указывается «root»
  3. «» — третий параметр — пароль, локально пароль отсутствует

or die (mysql_error())
Функция php mysql_error() возвращает строку ошибки последней операции с MySQL и может быть использована не только при попытке соединения с сервером, но и в других вариантах работы с базой данных mysql

Выбор базы данных mySQL и соединение с ней

Функция php mysql_connect — выбирает базу данных MySQL. Два параметра функции:

  • «db_name» — имя базы данных
  • $conn — указатель на соединение

    Создание запроса к базе данных

    Функция php mysql_query — посылает запрос активной базе данных сервера, на который ссылается переданный указатель. Два параметра функции:

  • $sql — запрос
  • $conn — указатель на соединение

    Обработка результатов запроса к базе mySQL

    Функция php mysql_fetch_array — возвращает массив с обработанным рядом результата запроса или FALSE , если рядов, отвечающих параметрам запроса, нет

    Решение проблем с кодировкой

    $conn = mysql_connect («localhost», «root», «») or die(«Нет соединения: » . mysql_error()); print («Удачно соединено»); mysql_select_db(«institute», $conn); mysql_query(«SET NAMES cp1251»);

    Использование для обработки цикла foreach

    foreach($result as $row)

    $conn = mysql_connect («localhost», «root», «») or die(«Нет соединения: » . mysql_error()); print («Удачно соединено»); mysql_select_db(«institute», $conn); $sql=»SELECT * FROM `teachers` WHERE `name`=’Иванов'» ; $sql= (string) $sql; $result = mysql_query($sql, $conn) or die («no!».mysql_error()); // сохраняем результат в виде массива $row $row=mysql_fetch_array($result); print_r($row);

    Функция print_r() в php предназначена для вывода удобочитаемой информации о переменной

    Чем отличаются функции mysql_connect и mysql_pconnect

    Primary tabs

    Forums:

    mysql_pconnect() работает аналогично mysql_connect() с двумя важными отличиями.

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

    Во-вторых, соединение с SQL-сервером не будет закрыто, когда работа скрипта закончится. Вместо этого, оно останется рабочим для будущего использования ( mysql_close() также не закрывает постоянные соединения, открытые mysql_pconnect()).

    даже более того возможно предупреждение :

    Соединения такого типа называют ‘постоянными’.

    Илон Маск рекомендует:  Изменение стандартной формы
  • Понравилась статья? Поделиться с друзьями:
    Кодинг, CSS и SQL