Maison >base de données >tutoriel mysql >Pourquoi mon code PHP affiche-t-il une « erreur de base de données inconnue » même si la base de données existe dans phpMyAdmin ?
Erreur de base de données inconnue dans PHP malgré l'existence d'une base de données valide dans PHPMyAdmin
Lors de la tentative de connexion à des bases de données MySQL nouvellement créées à l'aide de PDO en PHP, les utilisateurs peut rencontrer une "erreur de base de données inconnue" malgré la présence de la base de données dans PHPMyAdmin. Ce problème est souvent attribué à l'une des deux causes potentielles :
1. Erreurs d'orthographe
Assurez-vous que le nom de la base de données fourni dans le code PHP correspond au nom exact de la base de données créée. Il est crucial de vérifier l'orthographe et la casse.
2. Différentes connexions à la base de données
Il est possible que PHPMyAdmin et PHP se connectent par inadvertance à différents serveurs MySQL. Pour confirmer cette différence, exécutez la requête suivante dans PHPMyAdmin :
show databases;
Ensuite, exécutez la même requête en PHP en utilisant soit PDO :
$host = 'your db host'; $user = 'your db username'; $pass = 'your db password'; $pdo = new PDO("mysql:host=$host", $user, $pass, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]); $databases = $pdo->query('show databases')->fetchAll(PDO::FETCH_COLUMN); var_dump($databases);
Ou mysqli :
$host = 'your db host'; $user = 'your db username'; $pass = 'your db password'; mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT); $mysqli = mysqli_connect($host, $user, $pass); $databases = $mysqli->query('show databases')->fetch_all(); var_dump($databases);
La comparaison des résultats révélera toute divergence dans les noms de bases de données ou les connexions au serveur. Si PHP se connecte à un serveur distinct, consultez le fichier de configuration PHPMyAdmin pour vérifier qu'il est configuré pour le serveur approprié.
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!