PDO connexion à ma base de données
Résolu
Flav86
-
Niji -
Niji -
Bonjour,
j'ai un gros soucis au niveau de ma base de données. Je travaille encore en local, mon site est presque terminé mais il me reste à accéder à la base. en local aucun soucis donc avec wamp tout ce passe bien mais dès que je change localhost par sql.service.calixo.net avec les bons iddentifiant et mot de passe... plus moyen de se ceonnecter à la base. alors est-ce par ce que mon site lui est toujours en local et que j'essaie d'attaquer une base deja hébergée?
voici mon code de connexion:
Bien entendu les variables de connexion ont été changées ici.
et voici l'erreur que cela m'affiche:
(J'ai a nouveau bien entendu masqué les variables de connexion
j'ai un gros soucis au niveau de ma base de données. Je travaille encore en local, mon site est presque terminé mais il me reste à accéder à la base. en local aucun soucis donc avec wamp tout ce passe bien mais dès que je change localhost par sql.service.calixo.net avec les bons iddentifiant et mot de passe... plus moyen de se ceonnecter à la base. alors est-ce par ce que mon site lui est toujours en local et que j'essaie d'attaquer une base deja hébergée?
voici mon code de connexion:
<?php /* création du module de connexion à la base de données*/ $hote='sql.service.calixo.net'; $nom_bdd='nom de ma base'; $nom_utilisateur='nom utilisateur donné'; $mdp_bdd='mdp donné'; // tentative de connexion: try { $connect=new PDO('mysql:host='.$hote.';dbname='.$nom_bdd, $nom_utilisateur, $mdp_bdd); } // Si la connexion ne fonctionne pas on affiche l'erreur: catch(Exeption $e) { echo 'Erreur:'.$e.getMessage().'<br>'; echo 'Numero:'.$e.getCode(); } ?>
Bien entendu les variables de connexion ont été changées ici.
et voici l'erreur que cela m'affiche:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'sql.service.calixo.net' (10060)' in C:\wamp\www\site_RMG\includes\connexion.php:12 Stack trace: #0 C:\wamp\www\site_RMG\includes\connexion.php(12): PDO->__construct('mysql:host=sql....', 'nom utilisateur donné', 'passe donné') #1 C:\wamp\www\site_RMG\formation.php(19): include('C:\wamp\www\sit...') #2 {main} thrown in C:\wamp\www\site_RMG\includes\connexion.php on line 12
(J'ai a nouveau bien entendu masqué les variables de connexion
A voir également:
- PDO connexion à ma base de données
- Gmail connexion - Guide
- Base de registre - Guide
- Supprimer les données de navigation - Guide
- Connexion chromecast - Guide
- Tnt base de données vide - Forum TV & Vidéo
13 réponses
désolé pour le double post
en fait après avoir réupploadé le site avec le catch corrigé de ce matin, j'obtiens l'erreur suivante:
Donc ca confirme bien que les drivers pour PDO ne sont pas installés sur le serveur. donc dois-je contacter l'hébergeur ou je peux le faire par moi meme?
en fait après avoir réupploadé le site avec le catch corrigé de ce matin, j'obtiens l'erreur suivante:
Erreur:could not find driver Numero:0
Donc ca confirme bien que les drivers pour PDO ne sont pas installés sur le serveur. donc dois-je contacter l'hébergeur ou je peux le faire par moi meme?
Je ne vois pas où est l'erreur.
Avec le code de l'erreur, ça sera plus facile mais il faudrai l'afficher :
Avec le code de l'erreur, ça sera plus facile mais il faudrai l'afficher :
catch(Exeption $e) { echo 'Erreur:'.$e.getMessage().'<br>'; echo 'Numero:'.$e.getCode(); }Si je ne me trompe pas, en PHP, on utilise toujours "->" pour accèder à une méthode ou un attribut d'une classe.
et bien j'ai mis un catch dans mon code mais j'ai l'impression que l'interprétation se stoppe au niveau de la connexion et ne rentre pas dans mon catch. Car j'ai exactement le meme code que tu as donné ici :s
je ne comprends pas... pourtant j'arrive à accéder à ma BDD par le net pour la modifier donc les iddentifiant et mot de passe sont corrects j'utilise les mêmes...
je ne comprends pas... pourtant j'arrive à accéder à ma BDD par le net pour la modifier donc les iddentifiant et mot de passe sont corrects j'utilise les mêmes...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
“Car j'ai exactement le meme code que tu as donné ici :s”
Je n'ai fais que copier le tiens et souligné les erreurs.
Voilà le catch corrigé :
Je n'ai fais que copier le tiens et souligné les erreurs.
Voilà le catch corrigé :
catch(Exeption $e) { echo 'Erreur:'.$e->getMessage().'<br>'; echo 'Numero:'.$e->getCode(); }
Bonjour,
Merci, en effet je n'avais pas vu désolé :s
par contre même en ayant changé ça j'ai toujours la même erreur:
Cette fois par contre le site est hébergé sur un serveur. Mais la phrase 'could not find driver' me laisse penser que les drivers PDO ne sont pas installés sur le serveur en question. Je suppose donc que je dois contacter mon hébergeur pour qu'il le fasse ou je peux le faire par moi même?
Par contre en local avec la correction des erreurs sur le catch adapté à la PDO ca donne ca en code:
et ca me donne l'erreur suivante:
Merci, en effet je n'avais pas vu désolé :s
par contre même en ayant changé ça j'ai toujours la même erreur:
Fatal error: Uncaught exception 'PDOException' with message 'could not find driver' in /ftpprophp5/f/ft/ftprmg5/data/public_html/includes/connexion.php:10 Stack trace: #0 /ftpprophp5/f/ft/ftprmg5/data/public_html/includes/connexion.php(10): PDO->__construct('mysql:host=sql....', 'login de ma base', 'mdp de ma base') #1 /ftpprophp5/f/ft/ftprmg5/data/public_html/includes/news_materiel.php(4): include('/ftpprophp5/f/f...') #2 /ftpprophp5/f/ft/ftprmg5/data/public_html/index.php(19): include('/ftpprophp5/f/f...') #3 {main} thrown in /ftpprophp5/f/ft/ftprmg5/data/public_html/includes/connexion.php on line 10
Cette fois par contre le site est hébergé sur un serveur. Mais la phrase 'could not find driver' me laisse penser que les drivers PDO ne sont pas installés sur le serveur en question. Je suppose donc que je dois contacter mon hébergeur pour qu'il le fasse ou je peux le faire par moi même?
Par contre en local avec la correction des erreurs sur le catch adapté à la PDO ca donne ca en code:
try// tentative de connexion: { $connect=new PDO('mysql:host=sql.service.calixo.net;dbname=rmg', 'ftp-rmg', 'c009799r'); //$connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); ligne utilie pour les requêtes } catch(PDOException $e) { echo 'Erreur:'.$e->getMessage().'<br>'; echo 'Numero:'.$e->getCode(); }
et ca me donne l'erreur suivante:
Erreur:SQLSTATE[HY000] [2003] Can't connect to MySQL server on 'sql.service.calixo.net' (10060) Numero:0
certains hebergeurs refusent qu' on accede a leur bdd via un autre endroti que l' espace web fournit avec, verifie le en envoyant tes fichiers sur l'espace web au lieu d' en local
J'ai éssayé enfin je crois... :s
J'ai mis mes fichiers sur le ftp php5 fourni ce qui me donne la première erreur de mon dernier post
J'ai mis mes fichiers sur le ftp php5 fourni ce qui me donne la première erreur de mon dernier post
Encore désolé pour le triple post
Alors en fait voila après avoir affiché un php_info()
j'obtiens ceci concernant la PDO sur le serveur d'hébergement:
PDO
PDO support enabled
PDO drivers sqlite2, sqlite
donc comme je travaille en MySQL c'est normal que ca ne marche pas.
Par contre ma question reste la même peut-on modifier ca soi même ou doit-on passer par l'hébergeur?
Alors en fait voila après avoir affiché un php_info()
j'obtiens ceci concernant la PDO sur le serveur d'hébergement:
PDO
PDO support enabled
PDO drivers sqlite2, sqlite
donc comme je travaille en MySQL c'est normal que ca ne marche pas.
Par contre ma question reste la même peut-on modifier ca soi même ou doit-on passer par l'hébergeur?