PDO connexion à ma base de données

Résolu
Flav86 -  
 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:

<?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:

13 réponses

Flav86
 
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:
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?
6
Flav86
 
please help
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Je ne vois pas où est l'erreur.
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.
0
Flav86
 
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...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
“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é :
catch(Exeption $e) {
	echo 'Erreur:'.$e->getMessage().'<br>';
	echo 'Numero:'.$e->getCode();
}
0
Flav86
 
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:

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
0
graffx Messages postés 6506 Date d'inscription   Statut Contributeur Dernière intervention   1 975
 
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
0
Flav86
 
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
0
Flav86
 
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?
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
Seul l'administrateur du serveur le peu.
0
Flav86
 
Ok merci je vois ca avec eux alors ;)
0
avion-f16 Messages postés 19252 Date d'inscription   Statut Contributeur Dernière intervention   4 507
 
En principe ils doivent accepter.
Je suppose qu'ils n'ont pas mis le driver parce que ils ne connaissent pas PDO.
0
Niji
 
testez l'activation de php_pdo_mysql en php=>php extensions
0