Dépannage des problèmes de connectivité de base de données en PHP
La connexion à une base de données MySQL à l'aide de PHP peut parfois présenter des défis lorsqu'il s'agit de bases de données nouvellement créées. Cet article explore une erreur courante rencontrée lorsque PDO est utilisé pour se connecter à une base de données qui existe dans PHPMyAdmin mais pas dans PHP.
Pour comprendre la cause première, il est crucial d'envisager deux possibilités :
<code class="sql">show databases;</code>
Ensuite, exécutez la même requête en PHP en utilisant PDO ou mysqli :
Pour PDO :
<code class="php">$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);</code>
Pour mysqli :
<code class="php">$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);</code>
Comparez les résultats pour déterminer s'il y a des écarts. Si les bases de données sont différentes, le problème réside dans la configuration du serveur.
Pour résoudre le problème de mauvaise configuration du serveur, inspectez le fichier de configuration de PHPMyAdmin pour vous assurer qu'il spécifie le bon serveur.
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!