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

Langage PHP Discussion :

problème de programation pour débuter


Sujet :

Langage PHP

  1. #41
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    772
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 772
    Points : 174
    Points
    174
    Par défaut
    Je viens de modifie le fichier MyPdo.php et corriger le fichier pdo.php.

    Mais j'ai toujours le même message :
    Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S02]: Base table or view not found: 1146 La table 'mabase.mabase' n'existe pas' in C:\wamp64\www\PHP\pdo.php on line 13

    Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42S02]: Base table or view not found: 1146 La table 'mabase.mabase' n'existe pas' in C:\wamp64\www\PHP\pdo.php on line 13

  2. #42
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 335
    Points : 5 704
    Points
    5 704
    Billets dans le blog
    1
    Par défaut
    Tu as visiblement un problème de connexion. Un peu de debug :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    //// connexion
    require('MyPdo.php');
    try{
    		$pdo = new MyPDO();
                    var_dump($pdo);
    	}
    catch(PDOException $e){
    		echo "argggggggggggggg".$e->getMessage();
    	}
    Ca t'affiche quoi ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  3. #43
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    772
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 772
    Points : 174
    Points
    174
    Par défaut
    Voilà ce qui s'affiche

    Nom : erreur_connection_mabase_3.jpg
Affichages : 91
Taille : 71,2 Ko

  4. #44
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 335
    Points : 5 704
    Points
    5 704
    Billets dans le blog
    1
    Par défaut
    Pas très parlant, peux-tu donner tout ton code (MyPdo.php et pdo.php) ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  5. #45
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    772
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 772
    Points : 174
    Points
    174
    Par défaut
    Voici le code MyPdo.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
    20
    21
    <?php
    	//$db = new PDO('mysql:host=localhost;dbname=mabase', 'root', '');
    	 //la classe MyPdo hérite de la classe PDO (extends)
    	class MyPdo extends PDO {
    	/* on privilégie les var de classe (statiques) aux constantes : ainsi modifiables par programme */
    		static public $DB_NAME = "mabase"; 
    		static public $HOST = "localhost"; 
    		static public $USER = "root"; 
    		static public $PASS = "";
     
    	// le constructeur de MyPdo appelle le constructeur de PDO en lui passant ses paramètres	
    		function __construct() {
    		$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    		$pdo_options[PDO::ATTR_EMULATE_PREPARES] = false;//important sur les configs récentes
    		$pdo_options[PDO::ATTR_DEFAULT_FETCH_MODE] = PDO::FETCH_OBJ;//pour le mode objet
    		$pdo_options[PDO::MYSQL_ATTR_INIT_COMMAND] = "SET NAMES utf8";//pour l'utf-8
     
    		parent::__construct('mysql:host=' . MyPdo::$HOST . ';dbname=' . MyPdo::$DB_NAME, MyPdo::$USER, MyPdo::$PASS, $pdo_options);
    		} 
    	}
    ?>
    Et le code pdo.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
    <?php
    // connexion
    require('MyPdo.php');
    try{
    $pdo = new MyPDO();
    var_dump($pdo);
    }
    catch(PDOException $e){
    echo "argggggggggggggg".$e->getMessage();
    }
     
    // Effectuer une query et un fetch
    $query = 'SELECT * FROM mabase WHERE bar=1;';
    $arr = $pdo->query($query)->fetch(); //Sur une même ligne ...
    ?>

  6. #46
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 335
    Points : 5 704
    Points
    5 704
    Billets dans le blog
    1
    Par défaut
    Mon mémo n'est pas à jour car je viens de regarder un code qui marche chez moi et pour MyPdo.php, j'ai plutôt :
    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
    	 //la classe MyPdo hérite de la classe PDO (extends)
    	class MyPdo extends PDO {
    	/* on privilégie les var de classe (statiques) aux constantes : ainsi modifiables par programme */
    		protected $DB_NAME = "mabase"; 
    		protected $HOST = "localhost"; 
    		protected $USER = "root"; 
    		protected $PASS = "";
     
    	// le constructeur de MyPdo appelle le constructeur de PDO en lui passant ses paramètres	
    		function __construct() {
    		$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    		$pdo_options[PDO::ATTR_EMULATE_PREPARES] = false;//important sur les configs récentes
    		$pdo_options[PDO::ATTR_DEFAULT_FETCH_MODE] = PDO::FETCH_OBJ;//pour le mode objet
    		$pdo_options[PDO::MYSQL_ATTR_INIT_COMMAND] = "SET NAMES utf8";//pour l'utf-8
     
    		parent::__construct('mysql:host=' . MyPdo::$HOST . ';dbname=' . MyPdo::$DB_NAME, MyPdo::$USER, MyPdo::$PASS, $pdo_options);
    		} 
    	}
    ?>
    Je ne sais plus pourquoi j'avais remplacé static public par protected
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  7. #47
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    772
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 772
    Points : 174
    Points
    174
    Par défaut

    Voici le message en retour
    Fatal error: Access to undeclared static property: MyPdo::$HOST in C:\wamp64\www\PHP\MyPdo.php on line 17

  8. #48
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 335
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 335
    Points : 5 704
    Points
    5 704
    Billets dans le blog
    1
    Par défaut
    Désolé d'avoir laissé passer plusieurs jours ce sujet de côté. Peux-tu poster intégralement ton code afin de le tester de mon côté ? (T'attends pas à une réponse rapide car très peu disponible cet après-midi)

    Avec le code aussi un export de ta base de données.
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

Discussions similaires

  1. [Débutant] Problème pour débuter avec Webmatrix3
    Par Webamatrice dans le forum WebMatrix
    Réponses: 1
    Dernier message: 17/01/2019, 01h00
  2. Problèmes pour débuter
    Par Gentletid dans le forum Android
    Réponses: 2
    Dernier message: 05/03/2012, 12h13
  3. problème pour débuter
    Par jenda19 dans le forum Débuter avec Java
    Réponses: 7
    Dernier message: 27/02/2011, 14h30
  4. [Custom Tags 1.2] Problème pour débuter
    Par baddi_youssef dans le forum Taglibs
    Réponses: 4
    Dernier message: 08/02/2008, 20h02
  5. [EasyPHP] Pour débuter avec PHP j'ai un problème
    Par Claude l'ancien dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 14/02/2007, 12h37

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