Wie zu verwenden mysqli-persistente Verbindung über verschiedene Seiten
Habe ich eine web-app mit anderen PHP
Seiten zu verarbeiten-code.
Oben auf jeder Seite, die ich öffne, eine mysqli
Verbindung zur selben Datenbank (mit dem gleichen Benutzer/Passwort):
$link = mysqli_connect("$mysql_server", "$mysql_user", "$mysql_pw", "$mysql_db");
if (!$link) {
die('Could not connect: ' . mysql_error());
}
Verstehe ich, es ist besser, eine einzige ständige Verbindung. Wie kann ich aktivieren Sie diese auf allen Seiten?
Ist, es hat nur einfach mit $link = mysqli_connect("p:" . $mysql_server, "$mysql_user", "$mysql_pw", "$mysql_db");
für die erste Verbindung?
Unter welchen Umständen wäre diese Verbindung schließen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist "p:" - wenn vorangestellt, bevor hostname, schafft dauerhafte Verbindung. Das ist später erneut auf verschiedenen Seiten. Sie noch nennen denselben Konstruktor auf jeder Seite.
Verstehen Sie nicht die Bedeutung der persistenten Verbindung. Niemand sagt, dass Sie verwenden können, einmal erstellt PHP Ressource über die Seiten, und das ist sicherlich unmöglich. Persistente Verbindung hat eine innere technische Bedeutung für die PHP-DBMS Zusammenschaltung und macht nicht beeinflussen Sie Ihren code in irgendeiner Weise.
Vermeiden, schreiben Sie den gleichen code auf verschiedenen Seiten, die Sie verwenden können
include
Betreiber beinhalten eine Art von bootstrap-Datei, die alle den gemeinsamen code und Einstellungen, einschließlich Ihrer db-Verbindungs-code als auch.Als für die dauerhafte Verbindung - vermeiden Sie es für eine Weile, wie Sie es tun können mehr Schaden als gutes, wenn auch ohne wissen.
Beachten Sie auch, dass Sie sollten nie die Adresse einer Variablen, die mit Anführungszeichen.
$mysql_user
ist ein variable aber"$mysql_user"
ist ein string das ist nicht das gleiche.Nicht persistente Verbindung wird geschlossen, wenn die Ausführung des Skripts ist vorbei.
Beim öffnen eine permanente Verbindung, jede folgende Seite anfordern SQL-Dienste können die Wiederverwendung der gleichen Verbindung zum SQL-server.
Kurz gesagt, für jede Anfrage die Sie haben, zu verbinden.
IMHO, unter Verwendung der PHP-SPL-PDO-Bibliothek wenn möglich, für eine Datenbank-Verbindung. Mit Hilfe seiner Anweisungen vorbereitet, die Sie ausschließen können SQL-injection.
Check-out die singleton-Beispiel in der Balg-link für eine einfache Umsetzung.
http://www.php.net/manual/en/class.pdo.php