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 :

Connexion BDD en PDO qui bugge [PDO]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué

    Profil pro
    Pompier
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Pompier

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 171
    Points
    171
    Par défaut Connexion BDD en PDO qui bugge
    bonjour, je ne sais pas pourquoi, mais je n'arrive pas à executer mes requetes

    j'ai un module de configuration de la connection (config.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
    22
    23
    24
    25
    26
    27
    28
    29
    <?php
    //connection base de donnée
    //NE PAS MODIFIER LE SALT
    define("SALT", "**************");
     
    $PARAM_hote='bases.sql:3306'; // le chemin vers le serveur
    $PARAM_port='';
    $PARAM_nom_bd='****'; // le nom de votre base de données
    $PARAM_utilisateur='****'; // nom d'utilisateur pour se connecter
    $PARAM_mot_passe='****'; // mot de passe de l'utilisateur pour se connecter
    $connexion = new PDO('mysql:host='.$PARAM_hote.';port='.$PARAM_port.';dbname='.$PARAM_nom_bd, $PARAM_utilisateur, $PARAM_mot_passe);
     
    // Cryptage du mot de passe
    function hashPassword($p){
    	******;
    }
    //Initialisation de la connexion à la base de donnée
    try
    {
            $mysql = new PDO('mysql:host='.$PARAM_hote.';dbname='.$PARAM_nom_bd, $PARAM_utilisateur, $PARAM_mot_passe);
    }
     
    catch(Exception $e)
    {
            echo 'Erreur : '.$e->getMessage().'<br />';
            echo 'N° : '.$e->getCode();
    }
     
    ?>
    et donc un fichier avec un requete PDO qui appel le fichier 'config.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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <?php
    header('Content-type: text/html; charset=UTF-8');
     
    if (!session_id()) session_start();
    include('config.php');
     ?>
    <html>
    <head>
    <body>
    bonjour
    <?php
    //Vérification que la page est appelée en POST
     if(!$_SERVER["REQUEST_METHOD"]=="POST"){
    	die("Accès non autorisé");
     
    } 
     
    $test_login=filter_input(INPUT_POST,'utilisateur',FILTER_SANITIZE_STRING);
    if(isset($_POST['reponse'],$test_login))
    	{ 
    	if ($test_login !=false && mb_strlen($test_login,'utf-8')==(mb_strlen($_POST['utilisateur'],'utf-8')))
    		{  
    		$username= $test_login;
    		if ((ctype_digit($username) and (strlen($username))==4))
    			{//requete si utilisateur existe
    			echo'username ok';}
    		}
    	}
     
    ?></body>
    </head>
    </html>
    avec cette syntaxe, j'ai une erreur 500 interne au serveur; si je retire le include, la page me retourne les 'echo'.

    Je me demande si mon serveur supporte le PDO. Sachant que c'est un serveur ftp fournit par mon hébergeur (SFR).

    En local, avec easyPHP, ça marchait très bien.

  2. #2
    Membre émérite
    Avatar de supersnail
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 719
    Points : 2 793
    Points
    2 793
    Par défaut
    Bonjour,

    Je trouve ta chaîne 'bases.sql:3306' assez bizarre...

    La variable $PARAM_hote est censée contenir uniquement le nom d'hôte du serveur SQL (ie localhost si mysql tourne sur le même serveur que ton serveur http, sinon ton hébergeur t'indique quel hôte il faut mettre).
    Toute question technique envoyée en MP ira directement à la poubelle

    Un code ne marchera jamais, il n'a jamais reçu la capacité de se déplacer.
    Inutile donc de dire "ça marche pas", donnez plutôt des informations précises afin de mieux pouvoir vous aider.


    Grand gourou de la -attitude

  3. #3
    Membre habitué

    Profil pro
    Pompier
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Pompier

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 171
    Points
    171
    Par défaut
    dans le temps... j'avais une adresse avec que des nombre et puis après comme indiquée dans les paramètre de connexion.

    Si je fais une connection 'classique'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    //connection au serveur:
     
     	function connectMaBase(){
     
    	$base = mysql_connect ('bases.sql:3306', '****', '****');
     
          mysql_select_db ('****', $base) ;
     
    }
     
    //On se connecte
     
         connectMabase();
    ça fonctionne, bien sûre avec des requêtes 'classiques';
    c'est pour ça que je me demande si mon serveur supporte PDO.

    Après, dans mon espace de gestion des pages perso, j'ai deux sites:
    site1 avec les fichiers du site dans un ftpperso.sfr.fr

    et
    site2 avec sa bdd dans un sqladmin.sfr.fr qui contient la bdd du site1

    Mais je ne pense pas que ce soit ça qui fasse beugger

  4. #4
    Membre habitué

    Profil pro
    Pompier
    Inscrit en
    Janvier 2010
    Messages
    391
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Pompier

    Informations forums :
    Inscription : Janvier 2010
    Messages : 391
    Points : 171
    Points
    171
    Par défaut
    bon ben à force de chercher on trouve...

    j'ai trouvé un code et j'ai corrigé les fautes

    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
    <?php
    //adresse de la base; oui monsieur
    $PARAM_hote='bases.sql'; 
    
    // le chemin vers le serveur
    $PARAM_port='3306';
    
    // le nom de votre base de données
    $PARAM_nom_bd='*****'; 
    
    // nom d'utilisateur pour se connecter
    $PARAM_utilisateur='*****';
    
     // mot de passe de l'utilisateur pour se connecter
    $PARAM_mot_passe='*****';
    
     
    try
    {
    $mysql = 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();}
    ?>

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

Discussions similaires

  1. [PDO] PDO connexion BDD impossible
    Par Vinz2904 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 03/01/2014, 15h33
  2. [MySQL] Connexion à BDD en PDO
    Par helrick dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 28/07/2013, 17h40
  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] Script de connexion, je ne sais pas ce qui bugge
    Par gogogame dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 21/04/2006, 14h18

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