Voici ma classe de connexion DB. Le problème est que lorsque j'essaie d'accéder à la fonction CloseConnection à partir de mon code, cela donne une erreur: "Unknown MySQL localhost". J'utilise "dbconnection :: CloseConnection" à travers mes autres fichiers de code. Il ouvre avec succès la connexion, mais donne une erreur dans "$ conn".Une variable de connexion dans une classe génère une erreur lors de la fermeture de la connexion
final class dbconnection
{
private $conn;
//Opens connection for a MySQL DB
public static function OpenConnection()
{
require("../Config/dbconfig.php");
$conn = mysql_connect(DB_HOST,DB_USER,DB_PASSWORD);
mysql_select_db('MyDB');
}
//Closes connection for a MySQL DB
public static function CloseConnection()
{
mysql_close($conn);
}
}
Voici une méthode dans un autre fichier PHP d'où j'accéder aux fonctions ci-dessus:
public static function InsertRecord($inQuery)
{
dbconnection::OpenConnection();
$resultSet = mysql_query($inQuery);
dbconnection::CloseConnection();
return $resultSet;
}
Lorsque je supprime la ligne "DbConnection :: CloseConnection()", il fonctionne très bien. Je veux aussi savoir si c'est une bonne pratique de fermer immédiatement la connexion lorsque la tâche DB est terminée, ou devrais-je la garder ouverte jusqu'à ce que l'utilisation ferme le navigateur?
Pourquoi n'utilisez-vous pas simplement des fonctions globales et des variables au lieu de cette classe statique? – hakre