Maison  >  Article  >  développement back-end  >  Avertissement PHP : solution mysql_connect()

Avertissement PHP : solution mysql_connect()

王林
王林original
2023-06-24 21:38:051696parcourir

Lorsque vous utilisez la fonction mysql_connect() en PHP pour vous connecter à la base de données MySQL, vous rencontrerez parfois le message d'avertissement suivant :
PHP Warning: mysql_connect(): Access denied for user 'root'@'localhost' (using password: YES) in ...
Cette situation est généralement due au fait que MySQL ne permet pas de se connecter à la base de données avec une certaine identité. Vous pouvez essayer. les méthodes suivantes pour résoudre cette question problématique.

  1. Vérifiez si le nom d'utilisateur et le mot de passe sont corrects

Vérifiez d'abord si le nom d'utilisateur et le mot de passe définis lors de l'utilisation de la fonction mysql_connect() sont corrects.

  1. Vérifiez si le service MySQL est démarré

Si le service MySQL n'est pas démarré, vous ne pouvez pas vous connecter à la base de données. Vérifiez si le service MySQL est en cours d'exécution à l'aide de la commande suivante :

service mysqld status

Si le service MySQL n'est pas démarré, démarrez-le à l'aide de la commande suivante :

service mysqld start
  1. Vérifiez les autorisations de l'utilisateur MySQL

Si l'utilisateur MySQL ne dispose pas de suffisamment d'autorisations. autorisations pour se connecter à la base de données spécifique, ce message d'avertissement apparaîtra. Les autorisations des utilisateurs peuvent être vérifiées à l'aide de la commande suivante :

SHOW GRANTS FOR 'user'@'host';

où 'user' est le nom d'utilisateur MySQL et 'host' est le nom d'hôte ou l'adresse IP connecté. Si vous ne disposez pas des autorisations suffisantes, vous pouvez utiliser la commande suivante pour accorder les autorisations correspondantes :

GRANT ALL PRIVILEGES ON database.* TO 'user'@'host';

où database est le nom de la base de données à connecter, 'user' et 'host' sont le nom d'utilisateur et le nom d'hôte ou Adresse IP de la connexion.

  1. Utilisez MySQLi ou PDO au lieu de mysql_connect()

La fonction mysql_connect() est obsolète, il est recommandé d'utiliser MySQLi ou PDO à la place. Les deux méthodes offrent une meilleure gestion des erreurs et une meilleure sécurité. Par exemple, la méthode d'utilisation de MySQLi pour se connecter à une base de données MySQL est la suivante :

$mysqli = new mysqli("localhost", "user", "password", "database");

où 'localhost' est le nom d'hôte ou l'adresse IP où se trouve MySQL, 'user' et 'password' sont le nom d'utilisateur et le mot de passe utilisés. , et 'database' est le nom de la base de données à connecter.

Lorsque vous utilisez MySQLi ou PDO, vous devez également faire attention aux problèmes tels que le nom d'utilisateur, le mot de passe et les autorisations pour éviter les messages d'avertissement tels que PHP Warning: mysql_connect().

En général, la solution à PHP Attention : mysql_connect() peut impliquer plusieurs aspects. Elle nécessite le nom d'utilisateur et le mot de passe dans la première étape, le service MySQL dans la deuxième étape, les autorisations de l'utilisateur dans la troisième étape et la troisième étape. Découvrez de meilleures alternatives en quatre étapes. Ces méthodes peuvent aider les utilisateurs et les développeurs à améliorer la sécurité et le taux de réussite des connexions aux bases de données 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn