Je suis en train de m'intéresser de près aux connexions persistantes, et dans la documentation PHP, il est répété de nombreuses fois qu'une connexion persistante (donc ouverte avec mysql_pconnect) NE PEUT PAS ETRE FERMEE AVEC MYSQL_CLOSE().
Or, je me suis fait un petit script pour tester la chose et j'en arrive à la conclusion inverse (PHP 5.2.3 et MySQL 5.0.41). Voici le code :
Code : Tout sélectionner
mysql_pconnect("localhost:3306", "root", "root");
mysql_select_db("test");
$req = "SELECT * FROM toto";
$res = mysql_query($req);
echo "Nombre d'enregistrements trouvés : ".mysql_numrows($res);
mysql_close();
$req = "SELECT * FROM toto";
$res = mysql_query($req);
echo "Nombre d'enregistrements trouvés : ".mysql_numrows($res);
Code : Tout sélectionner
Nombre d'enregistrements trouvés : 7
Warning: mysql_numrows(): supplied argument is not a valid MySQL result resource in /Users/louisbelval/Documents/MAMP/Exemples/Bases de donnees/Connexion persistante.php on line 21
Nombre d'enregistrements trouvés :
Alors l'erreur est où ? Dans la doc, ou dans mon code ? En tout cas, la documentation ne signale visiblement pas que mysql_close() puisse fermer dans certains cas une connexion persistante.
J'en profite pour poser une autre question, du coup : si une connexion persistante est sensée ne pas pouvoir être fermée automatiquement à la fin d'un script ou par mysql_close(), comment on la ferme alors ?
Merci d'avance pour vos réponses