Probleme de connection
Lwss
Messages postés
4
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Warning: PDO::query(): SQLSTATE[3D000]: Invalid catalog name: 1046 Aucune base n'a été sélectionnée in C:\wampk\www\leader\functions\home.func.php on line 7
et mon code
Edit: ajout des balises de code.
et mon code
<?php $dbhost = "localhost"; $dbname = "blog"; $dbuser = "root"; $dbpassword = ""; try{ $db = new PDO('mysql:host='.$dbhost.';$dbname='.$dbname,$dbuser,$dbpassword,array(PDO::MYSQL_ATTR_INIT_COMMAND =>'SET NAMES utf8', PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING)); }catch(PDOException $e){ die('une erreur est survenue lors de la connexion a la base de donnee... '); } ?>
Edit: ajout des balises de code.
A voir également:
- Probleme de connection
- Gmail connection - Guide
- Facebook connection - Guide
- Connection chromecast - Guide
- Connection privée - Guide
- Cocoland connection - Accueil - Réseaux sociaux
3 réponses
Bonjour
$dbname, c'est le nom de ta base de données. Mais dans la chaîne de connexion (et non pas connection), le mot-clé pour donner le nom de la base de données, c'est dbname, pas $dbname. Relis bien ta requête en la comparant à l'exemple dont tu es parti.
Comprends bien la différence entre le nom de variable $dbname que tu as choisi (tu aurais pu prendre $toto) et le mot dbname qui fait partie de la syntaxe de la requête, et que tu n'as pas le droit de modifier.
$dbname, c'est le nom de ta base de données. Mais dans la chaîne de connexion (et non pas connection), le mot-clé pour donner le nom de la base de données, c'est dbname, pas $dbname. Relis bien ta requête en la comparant à l'exemple dont tu es parti.
Comprends bien la différence entre le nom de variable $dbname que tu as choisi (tu aurais pu prendre $toto) et le mot dbname qui fait partie de la syntaxe de la requête, et que tu n'as pas le droit de modifier.
Bonjour,
Ben si.. il faut justement que tu retires le $ devant le premier dbname....
Essaye ceci
Au passage, lorsque tu écrieras des requêtes.. pense également à les mettre dans des blocs TRY/CATCH pour voir les éventuelles erreurs..
Comme ceci:
Ben si.. il faut justement que tu retires le $ devant le premier dbname....
Essaye ceci
<?php $dbhost = "localhost"; $dbname = "blog"; $dbuser = "root"; $dbpassword = ""; try{ $db=new PDO('mysql:host=localhost;'.$dbhost .'='.$dbname .'; charset=utf8',$dbuser , $dbpassword ); // Activation des erreurs PDO $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // mode de fetch par défaut : FETCH_ASSOC / FETCH_OBJ / FETCH_BOTH $db->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); } catch(PDOException $e) { die('Erreur : ' . $e->getMessage()); }
Au passage, lorsque tu écrieras des requêtes.. pense également à les mettre dans des blocs TRY/CATCH pour voir les éventuelles erreurs..
Comme ceci:
//préparation de la requête et des variables $sql = "INSERT INTO matable (champ1,champ2) VALUES (:valeur1,:autrevaleur)"; $datas = array(':valeur1'=>$valeur1, ':autrevaleur'=>$toto); //Execution de la requete try{ $requete = $db-> prepare($sql) ; $requete->execute($datas) ; }catch(Exception $e){ // en cas d'erreur : echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); }
#le père?