Connexion php à mysql

Résolu
akimacker Messages postés 7 Statut Membre -  
 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
A voir également:

2 réponses

popozz Messages postés 246 Statut Membre 177
 
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 ?
0
akimacker Messages postés 7 Statut Membre
 
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.
0
akimacker Messages postés 7 Statut Membre
 
Merci à vous de m'avoir répondu, ma question est résolue.
0
Utilisateur anonyme
 
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.
0
akimacker Messages postés 7 Statut Membre
 
Merci le père!
0
Utilisateur anonyme > akimacker Messages postés 7 Statut Membre
 
De rien :-)
0