IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

PDO connexion BDD impossible [PDO]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Octobre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2011
    Messages : 7
    Par défaut PDO connexion BDD impossible
    Bonjour,

    Je débute en PHP, sous Windows.

    Je suis un tutoriel sur ce même site, sur MVC.

    J'ai un fichier "index.php":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    include 'connexion.php';
     
    // sans le fichier modele.php
    /*$produits = $connexion->query('select * from produit')or die(print_r($connexion->errorInfo()));*/
     
    // avec fichier modele.php
    include_once 'Modele.php';
    $produits = getProduits();
     
     
    include_once 'vueAccueil.php';
    Celui-ci fonctionne parfaitement

    Voici le fichier "connexion.php":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
    $PARAM_hote='localhost'; // le chemin vers le serveur
    $PARAM_port='3306';
    $PARAM_nom_bd='xxxx'; // le nom de votre base de données
    $PARAM_utilisateur='xxxx'; // le nom d'utilisateur pour se connecter
    $PARAM_mot_passe='xxxx'; // mot de passe de l'utilisateur pour se connecter
     
    try
    {
    	$connexion = new PDO('mysql:host='.$PARAM_hote.';port='.$PARAM_port.';dbname='.$PARAM_nom_bd, $PARAM_utilisateur, $PARAM_mot_passe);
    }
     
    catch(Exception $e)
    {
    	echo 'Erreur : '.$e->getMessage().'<br />';
    	echo 'N° : '.$e->getCode();
    	exit;
    }
    ?>
    Qui fonctionne correctement.

    Par contre quand j'essai de passer par un fichier nommé "modele.php", afin de séparer le code exécutant la requête, cela plante.
    Voici le fichier "modele.php":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    <?php
    // connexion à la BDD
    include 'connexion.php';
     
    // Renvoi la liste des produits
    function getProduits()
    {
            $connexion = new PDO('mysql:host=localhost;port=3306;dbname=xxxx;charset=utf8', 'xxxx', 'xxxx');
     
    	$produits = $connexion->query('select * from produit')or die(print_r($connexion->errorInfo()));
     
    return $produits;
    }
    ?>
    Cela me revoit l'erreur suivante:
    Fatal error: Cannot redeclare getProduits() (previously declared in C:\xampp\htdocs\www\testMVC\Modele.php:10) in C:\xampp\htdocs\www\testMVC\Modele.php on line 15
    Est-ce que vous avez une idée, une piste...

    Merci par avance.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Bah... le message d'erreur est assez clair : tu déclares deux fois la même fonction (getProduit)...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Octobre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2011
    Messages : 7
    Par défaut Déclaration en double
    Merci pour ta réponse.

    Mais même en diésant la fonction dans 'index.php. En rechargeant la page.

    Cela ne change rien.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    <?php
    // Renvoi la liste des produits
    function getProduits()
    {
    	// connexion à la BDD
    	include ('connexion.php');
    	// requete
    try
    {
    	$produits = $connexion->query('select * from produit')or die(print_r($connexion->errorInfo()));
    }
    catch(Exception $e)
    {
    	echo 'Erreur : '.$e->getMessage().'<br />';
    	echo 'N° : '.$e->getCode();
    	exit;
    } 
    	return $produits;
    }
    ?>
    Dernière modification par Invité ; 03/01/2014 à 15h04.

  5. #5
    Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Octobre 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2011
    Messages : 7
    Par défaut Résolution - php.ini
    Merci "jreaux62",

    J'ai corrigé et appliqué ton script.

    Mais le problème venait de mon fichier "php.ini" qui était mal paramétré.

    Je l'ai remplacé par l'original et cela fonctionne désormais.

    Merci.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Lit l'erreur : le problème se situe dans Modele.php : la fonction est déclarée ligne 10 puis ligne 15.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Connexion à BDD en PDO
    Par helrick dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/07/2013, 17h40
  2. Connexion BDD oracle impossible depuis java
    Par pauselol dans le forum JDBC
    Réponses: 5
    Dernier message: 10/06/2012, 14h26
  3. [MySQL] connexion bdd PDO
    Par Nanais19 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/03/2012, 15h55
  4. probleme connexion bdd modele + PDO
    Par blopjerem dans le forum MVC
    Réponses: 0
    Dernier message: 19/10/2009, 16h46
  5. [MySQL] Connexion à la BDD impossible + problèmes avec mes headers
    Par Terni dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 11/08/2007, 15h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo