par
derkomai » 25 oct. 2016, 09:22
Bonjour à tous,
J'apprends actuellement le PHP et j'ai tenté assez naturellement de faire deux fragments de code concernant la connexion à une BDD.
Code : Tout sélectionner
<?php
try {
$base=new PDO("mysql:host=localhost;dbname=x","root","");
$base->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
echo "connection: OK";
Code : Tout sélectionner
<?php
}
catch (Exception $e)
{
die('Erreur: '.$e->getMessage());
}
finally
{
$base=NULL;
}
Ceci donc afin de mettre deux includes au lieu de recopier le code sur toutes mes pages, et d'écrire au milieu toutes mes petites affaires.
Mais à exécution est signalé une erreur lié à une fin de fichier inattendu. si je met juste les trois lignes de connexion en premier fichier et seulement catch et finally dans le deuxième, on a plutot:
Code : Tout sélectionner
try{
include('connexion.php')//connexion à la BDD
code...
}
include('connexionFin.php')//copprend le catch et le finally
et là m'est retourné "impossible d'avoir un try sans catch".
je croyais que les includes étaient effectués avant d’exécuter le code, mais ces petites expérience semble vouloir me rappeler que ce n'est pas le cas.
On ne peut donc pas ouvrir { dans un include, écrire du script et fermer } dans un autre include?
Merci beaucoup pour vos éclaircissements, et je vous souhaite une bonne journée!
Bonjour à tous,
J'apprends actuellement le PHP et j'ai tenté assez naturellement de faire deux fragments de code concernant la connexion à une BDD.
[code]<?php
try {
$base=new PDO("mysql:host=localhost;dbname=x","root","");
$base->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
echo "connection: OK";[/code]
[code]<?php
}
catch (Exception $e)
{
die('Erreur: '.$e->getMessage());
}
finally
{
$base=NULL;
}[/code]
Ceci donc afin de mettre deux includes au lieu de recopier le code sur toutes mes pages, et d'écrire au milieu toutes mes petites affaires.
Mais à exécution est signalé une erreur lié à une fin de fichier inattendu. si je met juste les trois lignes de connexion en premier fichier et seulement catch et finally dans le deuxième, on a plutot:
[code]
try{
include('connexion.php')//connexion à la BDD
code...
}
include('connexionFin.php')//copprend le catch et le finally
[/code]
et là m'est retourné "impossible d'avoir un try sans catch".
je croyais que les includes étaient effectués avant d’exécuter le code, mais ces petites expérience semble vouloir me rappeler que ce n'est pas le cas.
On ne peut donc pas ouvrir { dans un include, écrire du script et fermer } dans un autre include?
Merci beaucoup pour vos éclaircissements, et je vous souhaite une bonne journée!