Aller au contenu

[LOGICIEL] MySQL et connexion bizarre depuis PHP...


Messages recommandés

Yop,

Je poste ici parce que ça ressemble plus à un problème général de configuration de PHP/MySQL (voir Apache), mais bon, si ça vous gêne, il peut toujours être déplacé dans 'Programmation' :p

Voici le problème résumé:

# Cas où ça fonctionne normallement:

- pas de password au compte mysql auquel je veux acceder

- propriétaire du fichier php = nom du compte mysql auquel se connecter

# Cas où ça fonctionne pas:

- password quelconque au compte mysql

- propriétaire du fichier php différent du compte mysql auquel je veux acceder

Exemple 1:

- compte mysql 'root' (demandé par le script php, tout ce qu'il y a de plus classique -tiré de php.net)

- mot de passe au compte 'root' (et correctement reglé dans le fichier php)

- propriétaire du fichier php: 'root'

Message d'erreur renvoyé par mysql: "Connect Error: Access denied for user: 'root@localhost' (Using password: NO)"

En gros, le "Using password: NO" signifie que mysql a refusé l'identification, sans utiliser de password (i.e.: mysql a pas reçu de password, alors qu'il en fallait un)

Exemple 2:

Pareil que l'exemple 1, mais:

- pas de mot de passe au compte 'root'

Avec ça, tout fonctionne parfaitement, je me connecte à la base, je lis quelques données, aucune erreur.

Exemple 3:

Pareil que l'exemple 2, mais:

- propriétaire du fichier php: 'webmaster'

Message d'erreur renvoyé par mysql: "Connect Error: Access denied for user: 'webmaster@localhost' (Using password: NO)"

Question 1: pourquoi diable PHP semble envoyer à MySQL le nom du propriétaire du fichier PHP, au lieu du login que je lui donne avec la fonction "mysql_connect();"?!

Question 2: pourquoi diable PHP ne semble pas envoyer de mot de passe à MySQL alors que je le précise correctement avec la fonction "mysql_connect();"?!

C'est comme si PHP voulait absolument se connecter à MySQL avec comme compte, le nom du propriétaire du fichier php où se situe le script, et sans mot de passe... (en ignorant totallement les informations transmises par "mysql_connect();", puisque si je créer un utilisateur mysql 'webmaster', que le script php a comme propriétaire 'webmaster', que le compte 'webmaster' ne possède pas de password, mais que dans le script php, j'utilise un truc du genre "mysql_connect(localhost, "root", "xxx");", mon scrit se connecte correctement à la base MySQL mais avec le compte webmaster, sans password....

J'ai cherché pas mal de trucs avec google, mais j'ai rien trouvé d'interessant (soit des pages en caches de sites buggés qui affichaient les mêmes erreurs mysql/php, soit des réponses à des problèmes basiques style password erroné (mais dans ce cas MySQL répondrait "Using password: YES", pour dire que l'id a échouée, sachant qu'un pass a été envoyé))

Pourtant je suppose que c'est un problème assez caractéristique... Enfin si jamais personne n'en a entendu parler, je pourrai donner plus d'infos sur ma config... (simplement, j'ai PHP 4.3.9 en module dans Apache 2.0.51-r1, et MySQL 4.0.20-r1, sous Gentoo...)

Si vous avez la moindre idée, ou le moindre truc que vous voulez que je test, pour clarifier les choses, ou quoi que ce soit, n'hesitez surtout pas...

Merci d'avance.

(à noter que j'ai le même problème en utilisant phpmyadmin, et ce quel que soit le mode d'authentification, ou autre...)

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...