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
Configuration: Windows Vista
Firefox 3.0.15

13 réponses

  1. 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
  2. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    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
  3. 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
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    “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
  6. 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
  7. graffx Messages postés 120 Date d'inscription   Statut Contributeur Dernière intervention   2 031
     
    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
  8. 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
  9. 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
  10. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    Seul l'administrateur du serveur le peu.
    0
  11. avion-f16 Messages postés 19182 Date d'inscription   Statut Contributeur Dernière intervention   4 511
     
    En principe ils doivent accepter.
    Je suppose qu'ils n'ont pas mis le driver parce que ils ne connaissent pas PDO.
    0
  12. Niji
     
    testez l'activation de php_pdo_mysql en php=>php extensions
    0