Maison > Article > base de données > Pourquoi est-ce que je reçois l'erreur « Avertissement : mysql_query() : 3 n'est pas une ressource de lien MySQL valide » ?
Pourquoi est-ce que je reçois « Avertissement : mysql_query() : 3 n'est pas une ressource de lien MySQL valide » ?
Le « Avertissement : L'erreur mysql_query() : 3 n'est pas une ressource MySQL-Link valide" indique que la variable utilisée pour stocker la ressource de connexion MySQL n'est pas valide. PHP utilise des ressources pour représenter des objets externes, chacun étant attribué un identifiant entier unique.
Échec des connexions à la base de données :
Une cause courante de cette erreur est un échec de connexion à la base de données. Lorsque la connexion échoue, la variable qui doit contenir la ressource devient nulle, ce qui entraîne l'erreur « La variable spécifiée n'est pas une ressource MySQL-Link valide ».
Réutilisation des connexions :
La fonction mysql_connect(), par défaut, réutilisera les connexions existantes plutôt que d'en créer de nouvelles. Cela peut entraîner des problèmes si une connexion précédente a été fermée de manière inattendue ou si différentes bases de données sont utilisées sur le même serveur. Passer true au paramètre $new_link peut créer une nouvelle connexion pour chaque appel à mysql_connect().
Exemple (échec de connexion) :
<code class="php">$link = mysql_connect('localsoth','baduser','badpass'); // failed connection $result = mysql_query("SELECT 1", $link); // throws error</code>
Exemple (Connexion réutilisée) :
<code class="php">$link1 = mysql_connect('localhost','user','pass'); // resource id 1 $link2 = mysql_connect('localhost','user','pass'); // reuse resource id 1 mysql_close($link2); // closes resource id 1 mysql_query("SELECT 1", $link1); // fails due to closed connection</code>
Solution :
Pour résoudre cette erreur, assurez-vous que la connexion à la base de données est établie et reste ouverte pendant toute la durée du processus. exécution du script. Évitez de fermer les connexions prématurément et envisagez d'utiliser l'extension MySQLi ou PDO au lieu de l'ancienne extension MySQL.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!