Как использовать постоянное соединение mysqli на разных страницах

У меня есть веб-приложение, которое использует разные страницы PHP для обработки кода.

В верхней части каждой страницы я открываю соединение mysqli с одной и той же базой данных (с одним и тем же пользователем / паролем):

 $link = mysqli_connect("$mysql_server", "$mysql_user", "$mysql_pw", "$mysql_db"); if (!$link) { die('Could not connect: ' . mysql_error()); } 

Я понимаю, что лучше использовать одно постоянное соединение. Как включить это на всех страницах?

Легко ли это просто использовать $link = mysqli_connect("p:" . $mysql_server, "$mysql_user", "$mysql_pw", "$mysql_db"); для первого соединения?

При каких обстоятельствах это соединение будет закрыто?

 $db = mysqli_connect("p:notlocalhost","notroot","","catalog") or die("Error " . mysqli_error($link)); 

Это «p:» – при добавлении перед именем узла создает постоянное соединение. Это позже используется на разных страницах. Вы все еще называете тот же конструктор на каждой странице.

Вы не понимаете смысла постоянного соединения . Никто не говорит, что вы можете использовать один раз созданный ресурс PHP на страницах, что, безусловно, невозможно. Постоянное соединение имеет внутреннее техническое значение для соединения PHP-СУБД и никак не влияет на ваш код.

Чтобы избежать написания одного и того же кода на разных страницах, вы можете использовать оператор include чтобы включить какой-то файл начальной загрузки со всеми распространенными кодами и настройками, включая ваш код соединения db.

Что касается постоянной связи – избегайте ее на некоторое время, так как она может принести больше вреда, чем пользы, если ее использовать без знания.

Также обратите внимание, что вы никогда не должны обращаться к переменной с помощью кавычек. $mysql_user – это переменная, но "$mysql_user" – это строка, которая не является одинаковой.

Непрерывное соединение закрывается, когда выполнение скрипта завершено.

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

Короче говоря, для каждого запроса вам нужно подключиться.

IMHO, используйте PHP-библиотеку PHP SPL, если возможно, для подключения к базе данных. Используя подготовленные операторы, вы можете исключить SQL-инъекцию.

Ознакомьтесь с примером синглтона в приведенной ниже ссылке для простейшей реализации.

http://www.php.net/manual/en/class.pdo.php