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 :

impossible de se connecter à la base de données


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Août 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Août 2017
    Messages : 4
    Points : 3
    Points
    3
    Par défaut impossible de se connecter à la base de données
    Bonjour,
    J'ai besoin de votre aide s'il vous plaît j'ai ce code

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
     
    <?php
     
    $db = new PDO('mysql:host=localhost;dbname=dpazine', 'root', '');
    $db->exec('SET NAMES utf8');
     
     
    class Application_Model_Parts {
     
    	public $language = 6;
            function __construct() {
    		    $this->db = $db;
    	}
     
     
    	public function retrieveVendors($asArray = false) {
    		$sql = "SELECT
    					MFA_ID,
    					MFA_BRAND
    				FROM
    					`manufacturers`
    				ORDER BY
    					MFA_BRAND
    #				LIMIT
    #					100
    				;";
    		$result = $this->db->query ( $sql );
    		if (! $asArray) {
    			return $result->fetchAll ();
    		} else {
    			$vendorList = array ();
    			foreach ( $result->fetchAll () as $vendor ) {
    				$vendorList [$vendor ['MFA_ID']] = $vendor ['MFA_BRAND'];
    			}
     
    			return $vendorList;
    		}
    	}
     
     
    	 */
    	public function retrieveVendorModels($vendor_id, $asArray = false) {
    		if (( int ) $vendor_id) {
    			$sql = "SELECT MOD_ID, TEX_TEXT AS MOD_CDS_TEXT, MOD_PCON_START,  MOD_PCON_END, MOD_PC, MOD_CV
          	FROM
           		 models
          	INNER JOIN country_designations ON CDS_ID = MOD_CDS_ID
            INNER JOIN des_texts ON TEX_ID = CDS_TEX_ID
            WHERE
           		MOD_MFA_ID = $vendor_id AND
           		CDS_LNG_ID = $this->language
            ORDER BY
           		MOD_CDS_TEXT;";
    			$result = $this->db->query ( $sql );
    			if (! $asArray) {
    				return $result->fetchAll ();
    			} else {
    				$modelList = array ();
    				foreach ( $result->fetchAll () as $model ) {
    					$modelList [$model ['MOD_ID']] = $model ['MOD_CDS_TEXT'] . ' [' . substr($model['MOD_PCON_START'],0,4) . ' - '. substr($model['MOD_PCON_END'],0,4) . ']';
    				}
    				return $modelList;
    			}
    		} else {
    			throw new Zend_Exception ( 'No vendor is set' );
    		}
    	}
    qui m'envoie cette erreur :

    Parse error: syntax error, unexpected '$db' (T_VARIABLE), expecting function (T_FUNCTION) in C:\wamp64\www\objet\Parts.php on line 11

    si quelqu'un peut m'aider à corriger cela car j'ai du mal,malgré plusieurs essais

  2. #2
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as une */ qui se ballade ligne 40.
    Es-tu bien en PHP5 ?

    Sinon en dehors de ça, la définition de $db ne peut pas être faite en dehors de la classe et utilisé dans la classe : il faut soit la définir dans la classe, soit la passer à classe dans la construction.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Candidat au Club
    Homme Profil pro
    Technicien réseaux et télécoms
    Inscrit en
    Août 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Technicien réseaux et télécoms
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Août 2017
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Je suis en local sous wamp qui tourne en php5.6

    du coup j'ai opter pour votre deuxièmes propositions,j'ai mis en place une classe de connexion
    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
    22
    23
    24
    25
    26
    27
    28
    29
     
    <?php
     
    class Connexion {
     
        public static function bdd() {
            // fichier contenant les informations pour se connecter
            $fichier = 'config/sql.ini';
            if(file_exists($fichier)) {
            $config = parse_ini_file($fichier, true);
     
            $moteur = $config['SQL']['moteur'];
            $hote   = $config['SQL']['hote'];
            $login  = $config['SQL']['login'];
            $mdp    = $config['SQL']['mdp'];
            $base   = $config['SQL']['base'];
     
            try {
                $bdd = new PDO($moteur .':host='. $hote .';dbname='. $base, $login, $mdp);
                $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
            } catch (Exception $e) {
            die('Erreur : '. $e->getMessage());
            }
                return $bdd;
            }
        }
    }
     
    ?>
    et je fait appel dans ma classe Application_Model_Parts comme ceux-ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    function __construct() {
    		$db = Connexion::bdd();
    		$this->db = $db;
    	}
    j'ai cet erreur
    Fatal error: Call to a member function query() on null in C:\wamp64\www\objet\Parts.php on line 30

Discussions similaires

  1. [SP-2007] Impossible de se connecter à la base de données de configuration
    Par AntonioMath dans le forum SharePoint
    Réponses: 11
    Dernier message: 15/06/2011, 12h41
  2. Réponses: 5
    Dernier message: 22/03/2010, 12h16
  3. Réponses: 1
    Dernier message: 02/10/2009, 16h03
  4. Impossible de se connecter à une base de donnée
    Par patrice419 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 26/04/2007, 13h41

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