Connexion php à mysql [Résolu/Fermé]

Signaler
Messages postés
6
Date d'inscription
lundi 3 septembre 2018
Statut
Membre
Dernière intervention
10 octobre 2018
-
 Utilisateur anonyme -
Bonjour, s'il vous plaît, quelqu'un pourrait m'aider? La création d'une base de donnée marche bien mais quand je crée une table il fait cette erreur SQLSTATE[3D000]: Invalid catalog name: 1046 No database selected

Voici les codes :
<? php
$server = 'localhost';
$login = 'root';
$password = '';
try{
  $connexion = new PDO('mysql:host = $server; dbname=test', $login, $password);
  $connexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  $connexion->exec("CREATE TABLE utilisateur(nom varchar(50))");
  echo 'Réussi';
}
catch(PDOException $e){
  echo 'Echec de la connexion : '.$e->getMessage();
}
?>

EDIT : Ajout des balises de code

2 réponses

Messages postés
171
Date d'inscription
jeudi 5 mai 2016
Statut
Membre
Dernière intervention
22 janvier 2021
156
Salut. Déjà cette erreur veux dire que vous n'avez pas sélectionné de base de données. Ensuite pourquoi vous le faite en PHP ?
Messages postés
6
Date d'inscription
lundi 3 septembre 2018
Statut
Membre
Dernière intervention
10 octobre 2018

Oui, je sais que l'erreur a dit que je n'ai pas sélectionné une base de données mais en voyant mon code, j'ai déjà précisé dbname=test, et je crois qu'il n'y a pas d'erreur sur mes codes. Et j'aime tester la création de base de données en PHP.
Messages postés
6
Date d'inscription
lundi 3 septembre 2018
Statut
Membre
Dernière intervention
10 octobre 2018

Merci à vous de m'avoir répondu, ma question est résolue.

Bonjour

Dans ta requête de connexion, tu as mis la variable $server dans une chaîne entre simples apostrophes. Mais en PHP, les variables ne sont remplacées par leur valeur quand dans les chaînes entre doubles quotes " :
"mysql:host = $server; dbname=test"
et non pas
'mysql:host = $server; dbname=test'


Entre simples apostrophes, $server, c'est la chaîne de caractères $-s-e-r-v-e-r, pas une variable.
Messages postés
6
Date d'inscription
lundi 3 septembre 2018
Statut
Membre
Dernière intervention
10 octobre 2018

Merci le père!
Utilisateur anonyme >
Messages postés
6
Date d'inscription
lundi 3 septembre 2018
Statut
Membre
Dernière intervention
10 octobre 2018

De rien :-)