Connection mysql free

Résolu
sandrecarpe Messages postés 40 Statut Membre -  
sandrecarpe Messages postés 40 Statut Membre -
Bonjour, j'ai créer un site en local en php/mysql et il fonctionne exactement comme je le souhaite mais quand je le met en ligne sur l'hébergement de free, je n'arrive pas à me connecter a la base de donnée, j'utilise ce code :

$bdd = new PDO('mysql:host=turpin.anthony.sql.free.fr;dbname=basededonnee', 'utilisateur', 'motdepasse');

et voici l'erreur : Fatal error: Cannot instantiate non-existent class: pdo in /mnt/154/sdc/9/a/turpin.anthony/galerie.php on line 6

sa fait 3 jours que je cherche la solution mais sans succès, aider-moi svp je désespère...

15 réponses

  1. sandrecarpe Messages postés 40 Statut Membre 5
     
    regarde mes lignes de connexion

    try   
    {   
     $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;   
     $bdd = new PDO('mysql:host=localhost;dbname=nos-poissons', 'nos-poissons', '******', $pdo_options);   
    }   
    catch (Exception $e)   
    {   
            die('Erreur : ' . $e->getMessage());   
    }   
    


    a propos de ta remarque: free n'accepte pas PDO, et j'avais déja un compte Kegtux et puis l'offre est tout simplement plus intéressante ^^

    PS : sur Kegtux, on doit utiliser localhost comme hôte
    1
  2. le père
     
    Le code que tu donnes ne génère chez moi l'erreur
    Erreur : SQLSTATE[28000] [1045] Access denied for user 'nos-poissons'@'localhost' (using password: YES)
    Ce qui est parfaitement logique. Je ne vois pas comment il pourrait inventer le nom de connexion 'root' et ne pas voir ton mot de passe. Tu es sûr que tu n'as pas une autre instruction de connexion qui traînerait accidentellement ailleurs ?
    ajoute un echo 'coucou1'; juste avant ta connexion et un echo 'coucou2'; juste après, histoire de voir que c'est bien cette connexion-ci qui pose un problème.

    Au fait, as-tu bien fait attention au respect des majuscules/minuscules dans les noms de base et des tables mysql ? Ça n'a pas d'importance sous windows, mais ça en aura chez ton hébergeur s'il n'est pas en windows. Je dis ça parce que je viens de remarquer que ton erreur 'no such file or directory' était en fait une erreur mysql et n'avait donc aucun rapport avec le move_uploaded_file.
    1
  3. Profil bloqué
     
    je ne connais pas la version de php de free mais il est probable que cela vient de là...
    essais ça :
    si tu as un fichier .htaccess ajoutes le code ci-dessous
    AddType x-mapp-php5 .php

    si tu n'as pas de fichier .htaccess tu en crée un avec le bloc notes et tu l'enregistre au nom de .htaccess et tu le mets à la racine de ton site.
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. sandrecarpe Messages postés 40 Statut Membre 5
     
    merci pour vos réponses, mais aucune n'a marché );
    je suis maintenant hébergé sur franceserv et PDO a l'aire de fonctionner.
    J'ai créé une page pour uploader des images avec enregistrement de son adresse, ses dimensions et un titre dans une BDD, puis affichage dans une galerie, mais j'ai cette erreur :

    Erreur : SQLSTATE[HY000] [2002] No such file or directory

    voici mon code :

    if (isset($_FILES['monfichier']) AND $_FILES['monfichier']['error'] == 4)
    {
    echo 'Aucun fichier téléchargé, champs vide';
    }
    else
    {
    if (isset($_FILES['monfichier']) AND $_FILES['monfichier']['error'] == 0)
    {
    if ($_FILES['monfichier']['size'] <= 3000000)
    {						
    							
    $image_sizes = getimagesize($_FILES['monfichier']['tmp_name']);
    $infosfichier = pathinfo($_FILES['monfichier']['name']);
    $extension_upload = strtolower($infosfichier['extension']);
    $extensions_autorisees = array('jpg', 'jpeg', 'gif', 'png');
    if (in_array($extension_upload, $extensions_autorisees))
    {
     $nom = md5(uniqid(rand(), true));
     $nomFinal = 'uploads/' . $nom . "." . $extension_upload;
    							 					move_uploaded_file($_FILES['monfichier']['tmp_name'], $nomFinal);
    echo "Image envoyée avec succès";
    									include("image.php");
    									
    $title = $_POST['title'];							
    $req = $bdd->prepare('INSERT INTO images (url, width, height, title) VALUES(?, ?, ?, ?)');
    									$req->execute(array($nomFinal, $sizeImage[0], $sizeImage[1], $title));
    									$req->closeCursor();								
    								
    }
    else
    {
    echo "Format non autorisé !";
    }
    							
    }
    else
    {
    echo "L'image dépasse 3 Mo";
    }
    }
    }
    ?>
    


    Je me suis renseigné s'est apparemment un problème de dossier temporaire.
    le dossier temporaire de franceserv est :

    upload_tmp_dir /tmp/httpd/upload

    j'ai essayé de le créer moi-même et avec tous les droits, mais sa ne marche toujours pas...

    Pourriez-vous m'aider ?
    0
  6. le père
     
    Bonsoir

    Je doute que le fichier temporaire de ton hébergeur y soit pour grand chose.
    Par contre, ton dossier 'uploads/' existe-t-il bien ? Comme c'est une adresse relative, l'as-tu bien créé par rapport au dossier racine de ton site ?
    0
  7. sandrecarpe Messages postés 40 Statut Membre 5
     
    oui le dossier 'uploads' existe bien et il est placé à la racine du site
    0
  8. vordano Messages postés 1981 Statut Membre 316
     
    en tapant l'erreur sur google, il y as quelques topics qui parle de la config de php. essaye de redémarrer les services si c'est possible

    est ce que tu as testé ton site en local ?
    dites non aux lois liberticide (hadopi, sopa,pipa,arjel,acta,ipred) et à la censure numérique !!!
    0
  9. sandrecarpe Messages postés 40 Statut Membre 5
     
    salut, j'ai essayé les solution des topics qui parle de la config php :
    il faut créer un fichier .htaccess avec à l'intérieur "php 1" (sans les guillemets), mais sa n'a pas marché.

    redémarrer les services ? En local ou en ligne ? Parce que en local TOUT marche nickel
    0
    1. vordano Messages postés 1981 Statut Membre 316
       
      et tu peux redémarrer les services sur ton hébergeur ou pas ?
      0
    2. sandrecarpe Messages postés 40 Statut Membre 5
       
      non, impossible de les redémarrer...
      0
  10. le père
     
    Pour ôter tout doute sur le dossier uploads..
    Peux-tu mettre au début de ton script :

    $x=opendir('uploads') or die(' pb avec uploads');
    echo 'uploads ok';
    closedir('uploads');
    
    0
  11. sandrecarpe Messages postés 40 Statut Membre 5
     
    voici ce que j'obtiens avec le petit script que tu m'a proposé le père :

    uploads ok
    Warning: closedir() expects parameter 1 to be resource, string given in /home/users/nos-poissons/uploadvalide.php on line 38
    Image envoyée avec succèsErreur : SQLSTATE[28000] [1045] Access denied for user 'root'@'localhost' (using password: NO)
    0
  12. le père
     
    ok, c'est moi qui m'étais trompé sur le closedir. Ça montre quand même que 'uploads' est bien ok.
    Mais le message d'erreur n'est plus le même.
    Tu avais Erreur : SQLSTATE[HY000] [2002] No such file or directory , je cherchais un problème de répertoire. Maintenant, tu as un problème de connexion à ta base, ça n'a aucun rapport.
    Il te manque les identifiants de connexion pour ton hébergeur.
    0
    1. le père
       
      visiblement, l'étape d'enregistrement de l'image a été franchie
      0
  13. sandrecarpe Messages postés 40 Statut Membre 5
     
    je me suis renseigné au près du support et mes identifiants de connexions sont correctes

    PS: j'ai oublier de préciser que je suis désormais hébergé chez Kegtux
    0
  14. le père
     
    Access denied for user 'root'@'localhost' (using password: NO)
    Ce message signifie que ton login est 'root' et que tu n'as pas de mot de passe.
    Je refuse de croire que ce sont bien là tes identifiants.

    Remarque : après free et franceserv, voici Kegtux... Penses-tu que c'est en changeant d'hébergeur à chaque erreur que tu vas résoudre tes problèmes ?
    0
  15. sandrecarpe Messages postés 40 Statut Membre 5
     
    sa marche !!! merci le père
    une instruction de connexion erronée était caché dans l'include image, je m'en souvenait plus...

    Merci le père
    0