8722 sujets

Développement web côté serveur, CMS

bonjour a tous !!!

j'ai un pb de connexion a la bdd : en local pas de soucis mais chez mon hebergeur ( 1 et 1 pour les citer)
j'ai ce message

a écrit :
Parse error: syntax error, unexpected '{' in /homepages/5/d333538231/htdocs/includes/sql_connect.php on line 3


voici la fameuse page en question : sql_connect.php :

<?php
try		//on se connect et on test si il y a une erreur (PDO renvoie ce qu'on appelle une exception qui permet de "capturer" l'erreur.)
{
	//$bdd = new PDO('mysql:host=localhost;dbname=mabdd', 'root', '');	//connxeion locale
	//$bdd = new PDO('mysql:host=sql.free.fr;dbname=mabdd', 'utilisateur', 'motdepasse');	//connxeion free
	$bdd = new PDO('mysql:host=db1230.1and1.fr;dbname=db000000000', 'dbo000000000', 'motdepasse');	//connxeion 1 et 1
}
catch (Exception $e)
{
	die('Erreur : ' . $e->getMessage());
}
?>


et voici comment j' inclus ce code dans mes pages :


<?php
//----------------------- CONNEXION A LA BDD ------------------------
include("includes/sql_connect.php");
?>

Modifié par artichaudd (24 Jul 2010 - 12:33)
<?php
try
{
        // Connexion 1&1
          $bdd = new PDO('mysql:host=db1230.1and1.fr;dbname=db000000000', 'motdepasse', '');

	// Connexion locale
       // $bdd = new PDO('mysql:host=localhost;dbname=mabdd', 'root', '');

        // Connexion Free
       // $bdd = new PDO('mysql:host=sql.free.fr;dbname=mabdd', 'utilisateur', 'motdepasse');	/
}
catch (Exception $e)
{
        die('Erreur : ' . $e->getMessage());
}
?>


Essaye ça.
artichaudd a écrit :
apparement il y a un pb avec les balise de code cra ton code n'apparait pas ?!? Smiley eek


sinon envois moi par mp

merci
Bonjour , il a ecrit : ( suffis de faire cité pour voir le code meme si ca a pas marché ^^ )
Technologix a écrit :


try
{
        // Connexion 1&1
          $bdd = new PDO('mysql:host=db1230.1and1.fr;dbname=db000000000', 'motdepasse', '');

	// Connexion locale
       // $bdd = new PDO('mysql:host=localhost;dbname=mabdd', 'root', '');

        // Connexion Free
       // $bdd = new PDO('mysql:host=sql.free.fr;dbname=mabdd', 'utilisateur', 'motdepasse');	/
}
catch (Exception $e)
{
        die('Erreur : ' . $e->getMessage());
}



Essaye ça.


edit : j'ai enlevé le <?php et ?> pour que cela marche ( je sais pas pourquoi ca bug parfois quand ca y est .. )
Modifié par mathieu1004 (24 Jul 2010 - 13:57)
la solution au pb trouvé
la version par défaut chez 1and1 est PHP 4 (donc l'erreur de syntaxe serait légitime puisque les versions antérieures ne le reconnaitront pas).

Pour faire du PHP 5 sur l'extension .php, il faut un .htaccess contenant :


AddType x-mapp-php5 .php

merci a vous
Modifié par artichaudd (24 Jul 2010 - 16:39)
Bonjour, j'ai le même problème qu'Artichaudd.

Mais comme il a trouvé la solution à son problème tout seul, il n'explique pas du tout au noob que je suis comment le régler.

Quelqu'un peut me dire comment faire s'il vous plait?

Merci d'avance
Pourtant il l'explique bien juste au dessus.

Le problème vient du fait que les serveurs 1and1 (tout comme ovh si je ne me trompe) exécutent les fichiers PHP avec la version 4 de PHP.
Or PDO n'existe qu'à partir de la version 5 de PHP.

Pour exécuter les fichier avec la version 5 de PHP il faut ajouter un fichier .htaccess contenant la directive suivante :
AddType x-mapp-php5 .php


Par contre d'expérience j'utilise plutôt la directive
SetEnv PHP_VER 5


À voir selon les serveurs.
Hello,
N'y a til pas une invertion dans ce code ??
Le mot de passe ne vient il pas apres l'utilisateur ???

// Connexion 1&amp;1
$bdd = new PDO('mysql:host=db1230.1and1.fr;dbname=db000000000', 'motdepasse', '');


J'ai le meme probleme : message d'erreur de syntaxe alors que ma base de donnée 1&1 est sur PHP5...

Que faire ???
Je n'ai pas saisi le coup de créer un fichier .htaccess et d'y coller le morceau de code nommé... comment ce fichier htacess va t il faire le lien avec mon fichier php ???

Merci d'avance
En fait, c'est le serveur web (ici Apache) qui a besoin du fichier .htaccess.

Ce dernier permet de dire au serveur "euh, mec... utilise plutôt la version 5 de PHP, stp".

Du coup, les fonctions spécifiques à PHP5 (comme PDO) seront bien interprétées par le serveur.

Donc il faut créer un fichier vide, y ajouter le code fournit plus haut et l'enregistrer sous le nom de .htaccess (le . est important) puis le transférer à la racine du serveur.


à plus,

éric