#1 Le 16/12/2024, à 21:44
- Franck-86180
Utilisation de base de données inutilisable en PHP (droitd d'accès)
Bonjour, j'ai un problème de droits d'accès à ma base de données.
Si je me connecte en SSH sur mon serveur, j'ai tous les droits nécessaires; je peux tout faire (sélection de la DB, création, modification, suppression de tables)
Par contre, lorsque j'écris mes pages PHP j'ai uniquement les droits de connexion à la DB.
Je ne pas utiliser la base (test) que j'ai créé en SSH et bien sur, ni lire, écrire, modifier une table de cette DB.
Je pense que c'est une histoire de droit d'accès, mais à quel niveau?????
voici mon script:
$hostname='localhost';
$username='userweb';
$password=******;
$dbname ='test';
echo "1 Essai de connexion <br>\n";
$mysqli = mysqli_connect($hostname,$username,$password ) or die ("<html><script language='JavaScript'>alert('2 - Impossible de se connecter a la base de donnees ! Reessayez plus tard.'),history.go(-1)</script></html>");
if ($mysqli -> connect_errno) {
echo "2 Erruer de connexion à MySQL: " . $mysqli -> connect_error."<br>";
echo "La connexion a MySQL n'a pu s'effectuee avec les parametres suivants : <br>";
echo "username : ".$username."<br>\n";
echo "password : ".$password."<br>\n";
echo "</body>\n";
echo "</html>\n";
exit;
}
else{
echo "3 connexion a MySQL OK<br>\n";
echo "La connexion a MySQL effectuee avec les parametres suivants : <br>";
echo "username : ".$username."<br>\n";
echo "password : ".$password."<br><br>\n";
}
if (mysqli_select_db($mysqli, $dbname)) {
echo "4 connexion a MySQL OK<br>\n";
echo "La connexion a la base de donnees effectuee avec les parametres suivants : <br>";
echo "dbname : ".$dbname."<br>\n";
if ($result = mysqli_query($mysqli, "SELECT DATABASE()")) {
$row = mysqli_fetch_row($result);
echo "Default database is " . $row[0];
mysqli_free_result($result);
}
mysqli_close($mysqli);
echo "</body>\n";
echo "</html>\n";
}
else {
echo "5 Erreur a l'utilisation de database: " . mysqli_error($mysqli) . " - " . $mysqli -> connect_error."<br>";
echo "La connexion a la base de donnees n'a pu s'effectuee avec les parametres suivants : <br>";
echo "dbname : ".$dbname."<br>\n";
echo "</body>\n";
echo "</html>\n";
mysqli_close($mysqli);
exit;
}
et la réponse:
1 Essai de connexion
3 connexion a MySQL OK
La connexion a MySQL effectuee avec les parametres suivants :
username : userweb
password : ********
5 Erreur a l'utilisation de database: Access denied for user 'userweb'@'localhost' to database 'test' -
La connexion a la base de donnees n'a pu s'effectuee avec les parametres suivants :
dbname : test
Quelqu'un a-t-il une idée????
Dernière modification par Franck-86180 (Le 16/12/2024, à 21:46)
Hors ligne
#2 Le 16/12/2024, à 21:56
- Franck-86180
Re : Utilisation de base de données inutilisable en PHP (droitd d'accès)
Désolé pour le dérangement, je viens de trouver.
Il fallait passer 2 ordres à la base de données:
GRANT ALL PRIVILEGES ON * . * TO 'userweb'@'localhost';
et
FLUSH PRIVILEGES;
Tout fonctionne parfaitement maintenant.
Hors ligne