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 :

Récupérer les donnée SQL de Free.fr sous forme de tableau


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Octobre 2017
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Octobre 2017
    Messages : 50
    Par défaut Récupérer les donnée SQL de Free.fr sous forme de tableau
    Bonsoir à tous,

    Je souhaite récupérer les données de ma base SQL Free.fr afin de pouvoir les traiter dynamiquement.
    J'ai un code qui fonctionne afin d'ajouter des entrées mais pas celui pour les récuprer :

    Ajouter des entrées dans ma BDD:

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <?
    if( $_POST )
    {
      $con = mysql_connect("sql.free.fr","Serv","MonMotDePasse");
     
      if (!$con)
      {
        die('Could not connect: ' . mysql_error());
      }
     
      mysql_select_db("Serv", $con);
     
      $users_name = $_POST['name'];
      $users_email = $_POST['email'];
      $users_comment = $_POST['message'];
     
      $users_name = mysql_real_escape_string($users_name);
      $users_email = mysql_real_escape_string($users_email);
      $users_comment = mysql_real_escape_string($users_comment);
     
      $query = "
      INSERT INTO `Serv`.`welcome` (`Name`, `Email`, `Message`) VALUES ('$users_name', '$users_email', '$users_comment');";
     
      mysql_query($query);
     
      echo "<h2>Thank you for your Comment!</h2>";
     
      mysql_close($con);
    }
    ?>
    Ce code fonctionne parfaitement pour insérer du code depuis un formulaire vers la base de donnée.

    Maintenant j'ai ce code afin d'afficher les données sous forme de tableau mais qui ne fonctionne pas :
    index.html

    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
    <!DOCTYPE HTML>
    <html>
    	<head>
    		<title>Table with database | </title>
     
    	</head>
    	<body >
     
    		<table>
    			<tr>
    				<th>Name</th>
    				<th>Email</th>
    				<th>Message</th>
    			</tr>
    		<?php
    		$conn = mysqLi_connect("sql.free.fr","Serv","MonMotDePasse","welcome");
    		if ($conn-> connect-error) {
    			die("Connection failed:".$conn-> connect_error);
    		}
     
    		$sql = "SELECT Name, Email, Message from welcome";
    		$result = $conn-> query($sql);
     
    		if ($result-> num_rows >0) {
    			while($row = $result-> fetch_assoc()){
    				echo "<tr><td>".$row["id"]."</td><td>". $row[Name] ."</td><td>". $row["Email"] ."</td></tr>";
    			}
    		echo"</table>";
    		}
    		else {
    			echo "0 Results";
    		}
     
    		$conn-> close()
    		?>
    		</table>					
    </body>
    </html>
    Pouvez-vous m'aider à finaliser ce code svp ?

  2. #2
    Membre chevronné Avatar de ma5t3r
    Homme Profil pro
    Développeur freelance
    Inscrit en
    Mai 2015
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

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

    Informations forums :
    Inscription : Mai 2015
    Messages : 320
    Par défaut
    Quel est le message d'erreur ?

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    STOPPE tout-de-suite !!

    • ton 1er script utilise mysql_, qui est OBSOLETE
    • le 2ème utilise mysqli_, qui est surtout destiné à ceux qui ont déjà un site en mysql_ à convertir

    Attention à ne pas copier-coller des bouts de code à droite à gauche, sans comprendre...


    -> Utilise PDO !


  4. #4
    Membre averti
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Octobre 2017
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Octobre 2017
    Messages : 50
    Par défaut
    Merci pour vos réponses.

    Est-il possible d’exécuter une connexion PDO avec free ? J'ai lu par ci par la que la connexion n'était pas possible.
    Pouvez-vous confirmer et éventuellement donner un exemple ?
    Un moyen de tester rapidement la connexion a SQL ?

    Merci

  5. #5
    Invité
    Invité(e)
    Par défaut
    1- Je t'ai mis 2 liens.

    2- Quant à free.fr, PDO est disponible.

  6. #6
    Membre averti
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Octobre 2017
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Octobre 2017
    Messages : 50
    Par défaut
    J'ai essayé différentes méthode pour me connecter à free en PDO, mais rien n'y fait, je n'y arrive pas.

    Voici mon 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
    30
    31
    32
    33
    <?php
     
    $serveur = 'sql.free.fr';
     
    $login = 'MONLOGIN';
     
    $mot_de_passe = 'MONMOTDEPASSE';
     
    $nom_bd = 'MONLOGIN';
     
     
     
    // Connexion à la base de données
     
    try
     
    {
     
    $bdd = new PDO("mysql:host=$serveur;dbname=$nom_bd;charset=utf8", $login, $mot_de_passe);
     
    }
     
    catch(Exception $e)
     
    {
     
    die('Erreur : '.$e->getMessage());
     
    }
     
    echo "connection ok"
     
    ?>
    J'ai aussi essayé comme cela:

    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
    <?php
     
    define('SS_DB_NAME', 'MONLOGIN');
    define('SS_DB_USER', 'MONLOGIN');
    define('SS_DB_PASSWORD', 'MONMOTDEPASSE');
    define('SS_DB_HOST', 'sql.free.fr');
     
    $dsn	= 	"mysql:dbname=".SS_DB_NAME.";host=".SS_DB_HOST."";
    $pdo	=	"";
    try {
    	$pdo = new PDO($dsn, SS_DB_USER, SS_DB_PASSWORD);
    }catch (PDOException $e) {
    	echo "Connection failed: " . $e->getMessage();
    }
    $db 	=	new Database($pdo);
    ?>
    Je précise que ce code ci fonctionne très bien sous WAMP.

    Et voici l'erreur renvoyée. :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Parse error: syntax error, unexpected '{' in /mnt/109/sda/5/c/MONLOGIN/config.php on line 17:

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    je viens de tester, et je confirme : PDO fonctionne sur free.fr (la preuve).
    Par contre, c'est localhost chez free.fr :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    define('SS_DB_NAME', 'MONLOGIN');
    define('SS_DB_USER', 'MONLOGIN');
    define('SS_DB_PASSWORD', 'MONMOTDEPASSE');
    define('SS_DB_HOST', 'localhost'); // localhost chez free.fr
    Ou, avec le code de connexion donné ici :
    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
    <?php
    // © Jérome Réaux : http://j-reaux.developpez.com - https://www.jerome-reaux-creations.fr
    // ------------------------------------------------------------
    // Connexion à la base de données
    // ------------------------------------------------------------
    if( !function_exists('my_pdo_connexxion') )
    {
        function my_pdo_connexxion()
        {
            // ---------
            $hostname    = 'localhost';         // voir hébergeur ou "localhost" en local (et chez free.fr)
            $database    = 'MONLOGIN';     // nom de la BdD
            $username    = 'MONLOGIN';             // identifiant ("root" en local)
            $password    = 'MONMOTDEPASSE';                 // mot de passe (vide en local)
            // ---------
            // connexion à la base de données
            try {
                // chaine de connexion (DSN)
                $strConn     = 'mysql:host='.$hostname.';dbname='.$database.';charset=utf8';    // UTF-8
                $extraParam    = array(
                    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,        // rapport d'erreurs sous forme d'exceptions
                    PDO::ATTR_PERSISTENT => true,                         // Connexions persistantes
                    PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,     // fetch mode par defaut
                    PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"    // encodage UTF-8
                    );
                // Instancie la connexion
                $pdo = new PDO($strConn, $username, $password, $extraParam);
                return $pdo;
            }
            // ---------
            catch(PDOException $e){
                $msg = 'ERREUR PDO connexion...' . $e->getMessage(); die($msg);
                return false;
            }
            // ---------
        }
    }
    // --------------------------------
    $pdo    = my_pdo_connexxion();
    // --------------------------------------------------------------

  8. #8
    Membre averti
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Octobre 2017
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Octobre 2017
    Messages : 50
    Par défaut
    Merci Jérome mais vraiment, rien à faire cela ne fonctionne pas !

    J'ai copié collé le second code et ajouté mes données de connexion mais rien à faire ...

    Je t'envoie mon code exact par MP pour voir de toi même.

    Es-ce possible que je doive activer un paramètre chez free pour activer PDO?

    Merci d'avance.

  9. #9
    Invité
    Invité(e)
    Par défaut
    1- Le souci est ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $database    = 'MONLOGIN';
    En fait, NON : ce n'est pas le même que le login.
    Il faut mettre le nom de la base de données :

    • Vas sur tes "Pages Perso" : https://subscribe.free.fr/login/
    • Ensuite, clique sur "Accéder et gérer votre base de données MySQL"
      tu accèdes alors à phpMyDamin, où le nom de la BDD est inscrite en haute à gauche.



    2-Si tu veux aussi utiliser des $_SESSION, il faut créer un dossier "sessions" à la racine du site.

  10. #10
    Membre averti
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Octobre 2017
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Octobre 2017
    Messages : 50
    Par défaut
    Chez moi, la base de donnée correspond bien au nom du login (image en MP). L'erreur est peut-être ailleurs...

  11. #11
    Invité
    Invité(e)
    Par défaut
    1- OK. (chez moi, ils sont différents )
    Donc, ça devrait fonctionner.

    2- Vérifie les infos :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo phpinfo(); ?>
    • version de PHP ?
    • PDO : enabled ?


    Sinon... je ne vois pas.

  12. #12
    Invité
    Invité(e)
    Par défaut
    Pour la version de PHP :

    ajouter un fichier .htaccess :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <IfDefine Free>
    php56 1
    </IfDefine>
    Options -Indexes
    N.B. à priori, PHP7.x n'est pas encore disponible.

  13. #13
    Membre averti
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Octobre 2017
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs

    Informations forums :
    Inscription : Octobre 2017
    Messages : 50
    Par défaut
    Super!

    Ça fonctionne parfaitement!

    Merci Beaucoup!

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

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

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 486
    Billets dans le blog
    1
    Par défaut
    et en PHP Orienté objet, il y a cette classe : https://www.developpez.net/forums/bl...dutiliser-pdo/
    Simple à utiliser, vu que j'y arrive ! (Elle est géniale)

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 12/04/2019, 14h48
  2. [AC-2010] Récupérer le presse papier pour le décomposer sous forme de tableau
    Par docjo dans le forum VBA Access
    Réponses: 3
    Dernier message: 10/10/2013, 10h46
  3. [XL-97] Comment récupérer les données d'un fichier PDF pour renseigner un tableau Excel
    Par jehhej dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 24/02/2010, 09h04
  4. Réponses: 2
    Dernier message: 15/06/2006, 13h43
  5. Récupérer les données Insert - SQL Server 2000
    Par jfc dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 19/04/2006, 07h47

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