Connection mysql free

Résolu/Fermé
sandrecarpe Messages postés 35 Date d'inscription samedi 3 mars 2012 Statut Membre Dernière intervention 17 février 2013 - 16 avril 2012 à 14:12
sandrecarpe Messages postés 35 Date d'inscription samedi 3 mars 2012 Statut Membre Dernière intervention 17 février 2013 - 19 avril 2012 à 12:10
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...



A voir également:

15 réponses

vordano Messages postés 1682 Date d'inscription mardi 12 juillet 2011 Statut Membre Dernière intervention 20 juillet 2012 316
16 avril 2012 à 14:30
pdo pas activé :)
d'après quelques recherches:
vérifie que php 5 soit activé (dans le cas contraire -> https://forums.commentcamarche.net/forum/affich-11603431-activer-php5-chez-free )
sinon tu peux te tourner vers sqlite
2
sandrecarpe Messages postés 35 Date d'inscription samedi 3 mars 2012 Statut Membre Dernière intervention 17 février 2013 5
Modifié par sandrecarpe le 19/04/2012 à 11:33
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
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
Profil bloqué
16 avril 2012 à 14:20
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

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

Posez votre question
sandrecarpe Messages postés 35 Date d'inscription samedi 3 mars 2012 Statut Membre Dernière intervention 17 février 2013 5
16 avril 2012 à 23:38
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
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
sandrecarpe Messages postés 35 Date d'inscription samedi 3 mars 2012 Statut Membre Dernière intervention 17 février 2013 5
16 avril 2012 à 23:53
oui le dossier 'uploads' existe bien et il est placé à la racine du site
0
vordano Messages postés 1682 Date d'inscription mardi 12 juillet 2011 Statut Membre Dernière intervention 20 juillet 2012 316
Modifié par vordano le 17/04/2012 à 13:22
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
sandrecarpe Messages postés 35 Date d'inscription samedi 3 mars 2012 Statut Membre Dernière intervention 17 février 2013 5
17 avril 2012 à 20:57
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
vordano Messages postés 1682 Date d'inscription mardi 12 juillet 2011 Statut Membre Dernière intervention 20 juillet 2012 316
18 avril 2012 à 10:09
et tu peux redémarrer les services sur ton hébergeur ou pas ?
0
sandrecarpe Messages postés 35 Date d'inscription samedi 3 mars 2012 Statut Membre Dernière intervention 17 février 2013 5
18 avril 2012 à 11:57
non, impossible de les redémarrer...
0
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
sandrecarpe Messages postés 35 Date d'inscription samedi 3 mars 2012 Statut Membre Dernière intervention 17 février 2013 5
18 avril 2012 à 12:59
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
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
visiblement, l'étape d'enregistrement de l'image a été franchie
0
sandrecarpe Messages postés 35 Date d'inscription samedi 3 mars 2012 Statut Membre Dernière intervention 17 février 2013 5
18 avril 2012 à 13:36
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
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
sandrecarpe Messages postés 35 Date d'inscription samedi 3 mars 2012 Statut Membre Dernière intervention 17 février 2013 5
19 avril 2012 à 12:10
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