php
  • mysql
  • database
  • 2016-10-23 3 views 5 likes 
    5

    У меня есть два файла:PHP/MYSQL - Несколько соединений с одной базой данных?

    config.php:

    $con = mysqli_connect("$dbhost","$dbuser","$dbpass","$dbname"); 
    

    ads.php (config.php require_once):

    $query1 = mysqli_query($con,"SELECT * From XXXX where id = 'XXXX'"); 
    
    $query2 = mysqli_query($con,"SELECT * FROM XXXX2 WHERE id = 'XXXX2'"); 
    

    У меня есть более чем 40 различных запросов mysqli_query() используя $con. Пожалуйста, имейте в виду, что вся моя логика - это процедурный стиль, а не объектно-ориентированный.

    Мои два вопроса:

    1. я подключения к БД с помощью другого соединения на каждом запросе? Или только один раз, когда выполняется первый? Есть лучший способ сделать это?

    2. Я понимаю, что закрытие mysql-соединения необязательно, поскольку оно закрывается, однако, поскольку у нас есть миллионы консультаций, иногда некоторые могут висеть и оставаться в течение более 10 секунд после того, как пользователь покинул PHP-файл. Если бы я хотел закрыть соединение, должен ли я поместить mysqli_close ($ con) в конец файла (после 40 советов) или в конце каждого запроса (40 раз)?

    Любая помощь будет принята с благодарностью. Спасибо

    +0

    Если ваш код работает, вы должны лучше задать свой вопрос на http://codereview.stackexchange.com – phaberest

    +1

    соединение MySQL даже используется постоянно в течение нескольких запросов HTTP. Все остальное действительно будет огромной проблемой производительности. Это означает, что закрытие соединения фактически замедлит работу. – arkascha

    ответ

    2

    Повторное использование соединения, инициированного в mysqli_connect.

    Лучшим способом может быть использование или создание DataHandler и внедрение PDO. Это может позволить вам выполнять аналитику времени по запросам, автоматизировать параметры привязки, уничтожать соединение после его завершения с помощью и т. Д.

    Звоните mysqli_close($con) в конце файла. Также null $con для маркировки для сбора мусора.

    После завершения информации с каждого шага вы также можете позвонить; mysqli_free_result($query1) к free memory, связанный с заявлением обращаться

    +1

    Спасибо, это было полезно. – Lucas

    Смежные вопросы