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 :

Affichage de ma base mysql


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2020
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2020
    Messages : 60
    Points : 57
    Points
    57
    Par défaut Affichage de ma base mysql
    voici les images :

    Nom : interclassement.jpg
Affichages : 99
Taille : 12,3 Ko

    Nom : Sans-titre-1.jpg
Affichages : 98
Taille : 10,6 Ko

    dans ma page html

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="content-type" content="text/html;charset=UTF-8"/>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self::$connection = new PDO("mysql:host=localhost;dbname=xxxx;dbName=xxx;dbUser=xxx;dbUserPassword=xxx; charset=UTF8;");
    affichage

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $sqlCan = "SELECT DISTINCT cantons FROM membres WHERE activation = 1 ORDER BY cantons ASC";
    $reponseCan = $db->query($sqlCan);
     
    								if ($reponseCan->fetch() == true){
    									foreach($reponseCan as $result){
    										if ($result['cantons'] != "")
    										echo "<option>" . $result['cantons']. "</option>";
    									}
    								}

  2. #2
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2020
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2020
    Messages : 60
    Points : 57
    Points
    57
    Par défaut
    J'ai résolu le problème, cela provenait de la connexion à ma base, voici le bon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    self::$connection = new PDO('mysql:host=localhost;dbname=xxx', 'xxx', 'xxx', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));

  3. #3
    Membre éprouvé Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 540
    Points : 1 067
    Points
    1 067
    Par défaut
    Salut,

    Etrange comme DSN
    new PDO("mysql:host=localhost;dbname=xxxx;dbName=xxx;dbUser=xxx;dbUserPassword=xxx; charset=UTF8;");Sinon faire tout simplement
    new PDO('mysql:host=localhost;dbname=xxxx;charset=utf8', 'xxx', 'xxx')

  4. #4
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2020
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2020
    Messages : 60
    Points : 57
    Points
    57
    Par défaut
    J'ai montré juste une partie, code complet :

    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
     
    <?php
     
    class Database
    {
    		private static $dbHost = "localhost";
    		private static $dbName = "xxx";
    		private static $dbUser = "xxx";
    		private static $dbUserPassword = "xxx";		
    		private static $connection = null;		
     
    		public static function connect()
    		{
    			try
     
    			{
    				self::$connection = new PDO('mysql:host=localhost;dbname=xxx', 'xxx', 'xxx', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));				
    			}
    			catch(PDOException $e)
    			{
    				die($e->getMessage());
    			}
    			return self::$connection;
    		}
     
    		public static function disconnect()
    		{
    			self::$connection = null;
    		}		
    }
    ?>

  5. #5
    Membre éprouvé Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 540
    Points : 1 067
    Points
    1 067
    Par défaut
    J'ai vu mais juste dire que le moyen recommandé est de passer le "charset" dans le DSN comme je l'ai mis dans mon exemple ( https://www.php.net/manual/fr/mysqli...ts.charset.php ) pas d'utiliser MYSQL_ATTR_INIT_COMMAND. L'avez-vous essayé ?


    Perso je ne vois pas l'utilité de la classe DataBase, on pouvait bien utiliser PDO directement non ?

  6. #6
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2020
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2020
    Messages : 60
    Points : 57
    Points
    57
    Par défaut
    C'est pratique ainsi je peux réutiliser le code !


    j'a modifié comme ceci mais il doit y avoir une erreur ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    self::$connection = new PDO("mysql:host=localhost;dbName=xxx;dbUser=xxx;dbUserPassword=xxx; charset=UTF8");

  7. #7
    Membre éprouvé Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 540
    Points : 1 067
    Points
    1 067
    Par défaut
    J'ai écrit ça new PDO('mysql:host=localhost;dbname=xxxx;charset=utf8', 'xxx', 'xxx') , évidemment qu'il y a une différence entre ce que je propose et vous écrivez. (xxx est à remplacer par leur va

  8. #8
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2020
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2020
    Messages : 60
    Points : 57
    Points
    57
    Par défaut
    Il doit y avoir un problème de syntaxe, si je mets les bonnes valeurs (les mêmes qu'avec le code fonctionnel), j'ai ceci :

    SQLSTATE[28000] [1045] Access denied for user.....

  9. #9
    Membre éprouvé Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    540
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 540
    Points : 1 067
    Points
    1 067
    Par défaut
    Bon je ne sais pas quelle syntaxe vous utilisez (on va supposer que c'est celle que j'ai proposée) , l'erreur signifie que les accès ne sont pas corrects (nom d'utilisateur et/ou mot de passe)

  10. #10
    Membre du Club
    Homme Profil pro
    Webmaster
    Inscrit en
    Juillet 2020
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Juillet 2020
    Messages : 60
    Points : 57
    Points
    57
    Par défaut
    code fonctionnel :

    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
    class Database
    {			
    		private static $connection = null;		
     
    		public static function connect()
    		{
    			try
     
    			{
    				self::$connection = new PDO('mysql:host=localhost;dbname=xxx', 'xxx', 'xxx', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
     
    			}
    			catch(PDOException $e)
    			{
    				die($e->getMessage());
    			}
    			return self::$connection;
    		}
     
    		public static function disconnect()
    		{
    			self::$connection = null;
    		}		
    }
    code non fonctionnel :

    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
    class Database
    {
     
    		private static $connection = null;		
     
    		public static function connect()
    		{
    			try
     
    			{
    				self::$connection = new PDO("mysql:host=localhost;dbName=xxx;dbUser=xxx;dbUserPassword=xxx; charset=UTF8");
     
    			}
    			catch(PDOException $e)
    			{
    				die($e->getMessage());
    			}
    			return self::$connection;
    		}
     
    		public static function disconnect()
    		{
    			self::$connection = null;
    		}		
    }
    résultat :

    SQLSTATE[HY000] [1045] Access denied for user ''@'localhost' (using password: NO)
    Je mets les mêmes valeurs dans les 2 cas !

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

Discussions similaires

  1. [PB 10.5] Affichage des données base MySQL
    Par brania dans le forum Powerbuilder
    Réponses: 1
    Dernier message: 21/08/2009, 15h10
  2. Affichage d'images depuis base MySQL
    Par klerdesign dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 25/10/2006, 15h47
  3. [GD] pb affichage d'une image créée par GD depuis ma base MySQL
    Par freddy92110 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 30/12/2005, 15h50
  4. Affichage de photos provenant d'une base mySQL
    Par archos6 dans le forum SQL Procédural
    Réponses: 5
    Dernier message: 18/10/2005, 17h41
  5. [SGBD] affichage d'image jpeg depuis une base mysql
    Par eric_300 dans le forum Requêtes
    Réponses: 2
    Dernier message: 10/09/2005, 12h27

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