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 :

PDO et SELECT * [MySQL]


Sujet :

PHP & Base de données

  1. #21
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 369
    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 369
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut
    Merci mais pas le temps de tester dans les heures qui viennent, par contre qu'est-ce que ça donne avec le conseil de Celira ?
    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

  2. #22
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Services de proximité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Bonjour Celira, et merci pour la proposition,
    je viens de mettre en place ta solution et j'ai toujours la même chose:
    avec un seul champ demandé cela fonctionne parfaitement quelque soient la méthode utilisé.
    dès que je veux deux champs ou plus (IE, Chrome ou Firefox) ne veulent plus m'afficher la page. je n'ai même plus mes menus.
    J'ai simplement :
    "page web inaccessible" dans chrome avec le smiley chrome qui boude
    "Adresse introuvable - Firefox ne peut trouver le serveur à l'adresse www.localhost.com." dans Firefox
    et
    "Cette page Web ne peut pas s’afficher - •Vérifiez que l’adresse Web http://localhost ... bla bla bla..." dans IE

    C'est a devenir fou

    Au fur et a mesure des tests et des propositions, je me demande quand même si je n'ai pas un problème de config dans php.ini ou my.ini.
    Là où ce n'est pas cohérent, c'est que cela fonctionne pour un seul champ demandé.

    je poursuit les recherches.

  3. #23
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Services de proximité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Pour y voir plus clair:
    a ce jour voici le code des deux pages php que j'utilise (UTF8):
    condb.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
    <?php
    function connect() {
    $PARAM_hote='localhost'; // le chemin vers le serveur
    $PARAM_nom_bd='parc'; // le nom de votre base de données
    $PARAM_utilisateur='root'; // nom d'utilisateur pour se connecter
    $PARAM_mot_passe='pass'; // mot de passe de l'utilisateur pour se connecter
     
    $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
    $pdo_options[PDO::MYSQL_ATTR_USE_BUFFERED_QUERY] = true;
     
    $connexion = new PDO('mysql:host='.$PARAM_hote.';dbname='.$PARAM_nom_bd, $PARAM_utilisateur, $PARAM_mot_passe, $pdo_options);
    return($connexion);	
    }
    ?>
    et
    vas.php (entre guillemets, ma page équivalente à index.php, celle que j'appelle)
    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
    include_once("condb.php");
    try {
     
    	$connexion=connect();
    	$sql='SELECT NomSoc,AdrSoc FROM societe;';
    	?>
    	<table>
    		<?php
    		$results = $connexion->query($sql);
    		while ($row = $results->fetch()) { ?>
    			<tr>
    				<td><input type="text" size="1" id="IDSoc" name="IDSoc" value="<?php echo $row["IDSoc"]; ?>" /></td>
    				<td><input type="text" size="30" id="NomSoc" name="NomSoc" value="<?php echo $row["NomSoc"]; ?>" /></td>
    				<td><input type="text" size="30" id="AdrSoc" name="AdrSoc" value="<?php echo $row["AdrSoc"]; ?>" /></td>
    				<td><input type="text" size="3" id="CPSoc" name="CPSoc" value="<?php echo $row["CPSoc"]; ?>" /></td>
    				<td><input type="text" size="7" id="VilleSoc" name="VilleSoc" value="<?php echo $row["VilleSoc"]; ?>" /></td>
    				<td><input type="text" size="10" id="TelSoc" name="TelSoc" value="<?php echo $row["TelSoc"]; ?>" /></td>
    				<td><input type="text" size="10" id="FaxSoc" name="FaxSoc" value="<?php echo $row["FaxSoc"]; ?>" /></td>
    				<td><input type="text" size="30" id="MailSoc" name="MailSoc" value="<?php echo $row["MailSoc"]; ?>" /></td>
    				<td><input type="text" size="2" id="PaysSoc" name="PaysSoc" value="<?php echo $row["PaysSoc"]; ?>" /></td>
    			</tr>
    	<?php } ?>
    		</table>
    <?php 
    		//$count = $connexion->exec("SELECT count(*) FROM societe;");
    		//echo $count.' lignes';
    } 
    catch(PDOException $e) {
        $msg = 'ERREUR PDO dans ' . $e->getFile() . ' L.' . $e->getLine() . ' : ' . $e->getMessage();
        die($msg);
    }
    il y a ici absolument tout mon code et le script de création de la base et table SQL sur les posts précédents.
    Si quelque chose vous saute aux yeux?
    au premier abord, moi je ne vois pas, mais peut être qu'a force d'être dessus on zappe l'essentiel.
    Merci

  4. #24
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 369
    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 369
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut
    Je viens (enfin) de trouver le temps de tester (sauf que c'est mal (selon certains modos) de dire qu'on a pas le temps ). Comme, je suis plus habitué, j'ai tout repassé en objet ; donc en décommentant la ligne 10 de condb.php et avec ce code pour vas.php :
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    <?php
    include_once("condb.php");
    try {
     
    	$connexion=connect();
    	$sql='SELECT * FROM societe;';
    	?>
    	<table>
    		<?php
    		$results = $connexion->query($sql);
    		while ($row = $results->fetch()) { ?>
    			<tr>
    				<td><?php echo $row->IDSoc; ?>
    				<input type="text" size="1" id="IDSoc" name="IDSoc" value="<?php echo $row->IDSoc; ?>" /></td>
    				<td><input type="text" size="30" id="NomSoc" name="NomSoc" value="<?php echo $row->NomSoc; ?>" /></td>
    				<td><input type="text" size="30" id="AdrSoc" name="AdrSoc" value="<?php echo $row->AdrSoc; ?>" /></td>
    				<td><input type="text" size="3" id="CPSoc" name="CPSoc" value="<?php echo $row->CPSoc; ?>" /></td>
    				<td><input type="text" size="7" id="VilleSoc" name="VilleSoc" value="<?php echo $row->VilleSoc; ?>" /></td>
    				<td><input type="text" size="10" id="TelSoc" name="TelSoc" value="<?php echo $row->TelSoc; ?>" /></td>
    				<td><input type="text" size="10" id="FaxSoc" name="FaxSoc" value="<?php echo $row->FaxSoc; ?>" /></td>
    				<td><input type="text" size="30" id="MailSoc" name="MailSoc" value="<?php echo $row->MailSoc; ?>" /></td>
    				<td><input type="text" size="2" id="PaysSoc" name="PaysSoc" value="<?php echo $row->PaysSoc; ?>" /></td>
    			</tr>
    	<?php } ?>
    		</table>
    <?php 
    		//$count = $connexion->exec("SELECT count(*) FROM societe;");
    		//echo $count.' lignes';
    } 
    catch(PDOException $e) {
        $msg = 'ERREUR PDO dans ' . $e->getFile() . ' L.' . $e->getLine() . ' : ' . $e->getMessage();
        die($msg);
    }
    ?>
    Pour que ça marche, j'ai remis un select * et dans condb.php, mis $PARAM_mot_passe=''; // mot de passe de l'utilisateur pour se connecter (mot de passe vide).
    (je teste avec Wampserver)
    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. #25
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Services de proximité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Alors j'ai pas mal avancé cet après-midi en essayant de limité mon code.
    J'ai tout simplement supprimé les éléments un par un pour essayer d'identifier où cela bloquait et voici ce qu'il en ressort:

    Si je supprime tout ce qui est en dessous de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $results = $connexion->query($sql);
    jusqu'à
    J'ai le même problème
    dès que je supprime également:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $results = $connexion->query($sql);
    Ma page se raffiche correctement dans les trois navigateurs.

    J'ai donc essayé avec les commandes MySQLi et toutes les requêtes fonctionnent correctement. Il me semble que MySQL, PHP et Apache sont donc proprement configurés, et que mes requêtes ne contiennent pas d'erreur.

    J'ai également passé en revu, par précaution my.ini, php.ini et httpd.conf au peigne fin : RAS

    Je dois tout simplement ne pas comprendre comment fonctionne PDO pour le mettre en oeuvre correctement.

    Je me disais aussi autre chose:
    - Est-ce que l'encodage des pages php en UTF8 a une importance?

  6. #26
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 369
    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 369
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par cguichou Voir le message
    - Est-ce que l'encodage des pages php en UTF8 a une importance?
    Moi, c'était le cas, mais j'ai tout passé en ANSI et pas de problème non plus. Cela dit pourquoi n'arrives-tu pas à faire ça en PDO alors que mon code marche (chez moi) ?
    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. #27
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Services de proximité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Bon j'ai une autre idée,
    je vais publié le php sur OVH pour voir si cela vient de mon PC.
    et je vous tiens tous informé

    merci encore pour ton aide LaurentSC

  8. #28
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Novembre 2013
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Services de proximité

    Informations forums :
    Inscription : Novembre 2013
    Messages : 12
    Points : 2
    Points
    2
    Par défaut
    Bonsoir à tous !

    Après quelques essais et reconfiguration/adaptation de mes fichiers chez OVH
    Cela fonctionne parfaitement sur le NET !!! ?

    Je ne suis pas parvenu à faire fonctionner cette requête sur mon poste en local
    mais je continuerais à chercher de mon côté (on sais jamais).
    En tous cas je voulais remercier tous les participants de la discution qui m'ont aider à mieux comprendre PDO et remercier tout particulièrement LaurentSC pour son aide à chaque fois très rapide.

  9. #29
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 369
    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 369
    Points : 5 734
    Points
    5 734
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par cguichou Voir le message
    remercier tout particulièrement LaurentSC pour son aide à chaque fois très rapide.
    Surtout le post #24 ! Comme c'est ton serveur local qui semble mauvais, moi, j'essaierais de le désinstaller puis de le réinstaller...
    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

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [PDO] PDO table SELECT
    Par kamina dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 20/03/2013, 20h46
  2. [MySQL] Erreur PDO sur SELECT
    Par heretik25 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 18/11/2011, 12h34
  3. PDO select - execute()
    Par bouuuh dans le forum Langage
    Réponses: 2
    Dernier message: 25/07/2011, 15h35
  4. [MySQL] PDO +SELECT + LIKE
    Par Paniez dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 22/02/2011, 16h17
  5. [PDO] PDO select avant insert
    Par Invité dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 08/05/2010, 01h14

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