За последние 24 часа нас посетили 17800 программистов и 1625 роботов. Сейчас ищут 1866 программистов ...

Обязательно ли закрывать соединение с БД?

Тема в разделе "PHP и базы данных", создана пользователем Атм_Евгений, 8 окт 2017.

  1. Атм_Евгений

    Атм_Евгений Активный пользователь

    С нами с:
    21 июл 2017
    Сообщения:
    206
    Симпатии:
    5
    Здравствуйте!
    Я в коде обращаюсь много раз к БД. Бывает так, что обращаюсь - делаю удаление данных в таблице и все. Нужно ли закрывать соединение - mysqli_close($connect);?
    Бывает так, что происходит обращение к БД, в таблицу записываются данные и пользователь переадресовывается на другую страничку - нужно ли здесь закрывать соединение?
    Какой смысл закрытия соединения? Что будет, если его не закрывать?
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.797
    Симпатии:
    1.331
    Адрес:
    Лень
    Обязательно ли закрывать соединение с БД?

    нет. PHP завершит все сам. Если конечно принудительно не будете держать соединение
     
  3. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    Если используется непостоянный тип соединения
     
  4. Атм_Евгений

    Атм_Евгений Активный пользователь

    С нами с:
    21 июл 2017
    Сообщения:
    206
    Симпатии:
    5
    mysqli_connect - какой тип соединения?
     
  5. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    тут нет указания на тип соединения, для mysqli оно префиксом p в имени хоста указывается.

    Пока не стоит думать об этом: очевидно что лишнее это пока
     
  6. Атм_Евгений

    Атм_Евгений Активный пользователь

    С нами с:
    21 июл 2017
    Сообщения:
    206
    Симпатии:
    5
    Вот в таком коде нужно указывать закрытие соединения?
    Код (Text):
    1. <?php
    2. function del_all($selTable, $host, $user, $password, $name_bd) { // Удаление данных в таблице
    3.     $connect = mysqli_connect($host, $user, $password, $name_bd);
    4.     $result = mysqli_query($connect, "DELETE FROM {$selTable}");
    5.     if ($result !== true) {
    6.         header('Location: ./error.php?err=1'); // Ошибка удаления данных в таблице
    7.         exit;
    8.     }
    9. }
    10. ?>
     
  7. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.797
    Симпатии:
    1.331
    Адрес:
    Лень
    @Атм_Евгений А в таком коде указывается постоянное соединение ?

    а в таком коде в каждой функции употребляется функция mysqli_connect ?

    fun.. select(...)
    {
    mysqli_connect
    ...
    }

    fun.. select_array(...)
    {
    mysqli_connect
    ...
    }


    мм ?