Warum sollte die DB-Verbindung nicht in jeder Funktion neu geöffnet werden und wie kann dies effizienter gestaltet werden?
Es ist ineffizient, die DB-Verbindung in jeder Funktion neu zu öffnen, da dies jedes Mal Overhead verursacht. Stattdessen sollte die Verbindung einmal geöffnet und dann in allen Funktionen verwendet werden. Dies kann durch die Verwendung von globalen Variablen oder durch die Verwendung von Klassen und Methoden erreicht werden.
// Establish a database connection
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// Function that uses the database connection
function fetchDataFromDB($conn) {
$sql = "SELECT * FROM myTable";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["name"]. "<br>";
}
} else {
echo "0 results";
}
}
// Call the function with the existing DB connection
fetchDataFromDB($conn);
// Close the connection when done
$conn->close();