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 :

mon code en sql n'est pas pris en compte après un ">" [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Futur Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 32

    Informations forums :
    Inscription : Novembre 2010
    Messages : 13
    Points : 6
    Points
    6
    Par défaut mon code en sql n'est pas pris en compte après un ">"
    Bonjour,
    Je suis bloqué sur un probleme avec 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
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    <html>
    	<?php
    		$PARAM_hote='localhost'; // le chemin vers le serveur
    		$PARAM_port='8888';
    		$PARAM_nom_bd='repertoire'; // le nom de votre base de données
    		$PARAM_utilisateur='user'; // nom d'utilisateur pour se connecter
    		$PARAM_mot_passe='login'; // mot de passe de l'utilisateur pour se connecter
    		try{
    			$connexion = new PDO('mysql:host='.$PARAM_hote.';dbname='.$PARAM_nom_bd, $PARAM_utilisateur, $PARAM_mot_passe);
    			$connexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    			}
    		catch(Exception $e)
    		 {
    		  die('Erreur : '.$e->getMessage());
    		 }
    	?>
    	<head>
    		<title>Repertoire</title>
    		<link rel="stylesheet" media="screen" type="text/css" title="recherche_2" href="recherche_2.css" />
    	</head>
    	<body>
    		<div id="en_tete">
    			<h1>Repertoire de LogicSystems</h1>
    		</div>
    		<div id="menu">        
    			<div class="element_menu">
    				<h3>Menu</h3>
    				<ul>
    					<li><a href="formulaire_recherche_2.php">Recherche</a></li>
    					<li><a href="formulaire_alphabetique.php">Répertoire par ordre Alphabétique</a></li>
    				</ul>
    			</div>        
    		</div>
    		<div id="corps">
    			<table class="contacts">
    				<tr>
    					<th class="colonne_nom">Nom</th>
    					<th class="colonne_prenom">Prénom</th>
    					<th class="colonne_adresse">Adresse</th>
    					<th class="colonne_cp">Code Postal</th>
    					<th class="colonne_ville">Ville</th>
    					<th class="colonne_port">Numéro Portable</th>
    					<th class="colonne_fixe">Numéro Fixe</th>
    					<th class="colonne_fax">Fax</th>
    				</tr>
    				<?php
    					$recherche = $_POST['var1'];
    					$sql_count='SELECT COUNT(*) AS nbUsers FROM contacts WHERE nom = :recherche';
    					$sql = $connexion->prepare("SELECT * FROM Contacts WHERE Nom = :recherche");
    					$sql->execute(array($recherche)) or die(print_r($sql->errorInfo())); 
    					$donnees = $sql->fetch();
    						//$sql_count = $connexion -> prepare("SELECT COUNT(*) FROM contacts WHERE nom = ? ");
    						//$sql_count -> execute(array($recherche)) or die (print_r($sql_count->errorinfo()));
    						//$resultat = $sql_count;
    					$resultat = $connexion->query($sql_count);
    					$resultat = $resulat->fetch();
    					echo (!empty($resultat)) ? $resultat['nbUsers'] : 'Pas d\'utilisateurs.';
    				?>
    				<p>Resultat de la recherche "<?php echo $recherche; ?>" :
    					<tr>
    						<td><?php echo $donnees['nom']; ?></td>
    						<td><?php echo $donnees['prenom'] ?></td> 
    						<td><?php echo $donnees['adresse'] ?></td>
    						<td><?php echo $donnees['code_postal']; ?></td>
    						<td><?php echo $donnees['ville']; ?></td>
    						<td><?php echo $donnees['telephone_port'] ?></td> 
    						<td><?php echo $donnees['telephone_fixe'] ?></td> 
    						<td><?php echo $donnees['fax'] ?></td> 
    					</tr>
    				</p>
    			</table>
    		</div>
    		<div id="pied_de_page">
    			<p>Copyright "LogicSystems Corporation" 2005, tous droits réservés</p>
    		</div>
    	</body>
    </html>
    Il se trouve que a partir de la ligne 49 apres le -> le code ne fonctionne plus et mon navigateur affiche le code au lieu de l'executer.
    Pouvez vous m'aider ?
    Merci d'avance
    édit: je viens de m'apercevoir que je me suis trompé de topic :/ si quelqu'un pouvais rediriger cette discussion =)

  2. #2
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 799
    Points : 34 032
    Points
    34 032
    Billets dans le blog
    14
    Par défaut
    C'est laquelle, la ligne 49 ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2004
    Messages : 329
    Points : 608
    Points
    608
    Par défaut
    Celle là je crois :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql = $connexion->prepare("SELECT * FROM Contacts WHERE Nom = :recherche");

    Active l'affichage des erreurs php : ini_set('display_errors', 1);

  4. #4
    Futur Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 32

    Informations forums :
    Inscription : Novembre 2010
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Pour mettre a jour, plusieurs modifications on été apportées.
    Le code fonctionne tres bien sur google chrome mais sur firefox il m'affiche toujours le code apres un -> au lieu de l'executer...
    Voici le code mis à jour :
    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
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    <html>
    	<?php
    		$PARAM_hote='localhost';
    		$PARAM_port='8888';
    		$PARAM_nom_bd='repertoire';
    		$PARAM_utilisateur='user';
    		$PARAM_mot_passe='login';
    		try{
    			$connexion = new PDO('mysql:host='.$PARAM_hote.';dbname='.$PARAM_nom_bd, $PARAM_utilisateur, $PARAM_mot_passe);
    			$connexion->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    			}
    		catch(Exception $e)
    		 {
    		  die('Erreur : '.$e->getMessage());
    		 }
    	?>
    	<head>
    		<title>Repertoire</title>
    		<link rel="stylesheet" media="screen" type="text/css" title="recherche_2" href="cible_recherche.css" />
    	</head>
    	<body>
    		<div id="en_tete">
    			<h1>Repertoire de LogicSystems</h1>
    		</div>
    		<div id="menu">        
    			<div class="element_menu">
    				<h3>Menu</h3>
    				<ul>
    					<li><a href="formulaire_recherche.php">Recherche</a></li>
    					<li><a href="formulaire_alphabetique.php">Répertoire par ordre Alphabétique</a></li>
    				</ul>
    			</div>        
    		</div>
    		<div id="corps">
    			<?php
     
    				//calculs reslutats et nombres resultats
     
    				$recherche = $_POST['var1'];
    				$sql = $connexion->prepare("SELECT * FROM Contacts WHERE nom = ? OR prenom = ? OR adresse = ? OR ville = ? OR code_postal = ? OR telephone_fixe = ? OR telephone_port = ? OR fax = ?");
    				$sql->execute(array($recherche, $recherche, $recherche, $recherche, $recherche, $recherche, $recherche, $recherche,)) or die(print_r($sql->errorInfo())); 
    				$donnees = $sql->fetch();
    				$sql_count = 'SELECT COUNT(*) AS nbUsers FROM contacts WHERE nom = ? OR prenom = ? OR adresse = ? OR ville = ? OR code_postal = ? OR telephone_fixe = ? OR telephone_port = ? OR fax = ?';  
    				$resultat = $connexion->prepare($sql_count); 
    				$resultat->execute(array($recherche, $recherche, $recherche, $recherche, $recherche, $recherche, $recherche, $recherche,)); 
    				$resultat = $resultat->fetchColumn(); 
     
    				//Affichage nombre de resultat
     
    				If($resultat == 1) {
    				echo "Il y a $resultat resultat"; 
    				}
    				Elseif ($resultat == 0){
    				echo "Il n'y a pas de resultat";
    				}
    				Else{
    				echo "Il y a $resultat resultats";
    				}
     
    				//affichage resultats
     
    				If ($resultat == 0){
    				}
    				else {
    				}
    			?>
    			<table class="contacts">
    				<tr>
    					<th class="colonne_nom">Nom</th>
    					<th class="colonne_prenom">Prénom</th>
    					<th class="colonne_adresse">Adresse</th>
    					<th class="colonne_cp">Code Postal</th>
    					<th class="colonne_ville">Ville</th>
    					<th class="colonne_port">Numéro Portable</th>								
    					<th class="colonne_fixe">Numéro Fixe</th>
    					<th class="colonne_fax">Fax</th>
    				</tr>
    				<p>Resultat de la recherche "<?php echo "$recherche" ?>" :</p>
    				<?php
    					for($i=1; $i<=$resultat; $i++){
    				?>
    							<p>
    							<tr>
    								<td><?php echo $donnees['nom']; ?></td>
    								<td><?php echo $donnees['prenom']; ?></td> 
    								<td><?php echo $donnees['adresse'] ;?></td>
    								<td><?php echo $donnees['code_postal']; ?></td>
    								<td><?php echo $donnees['ville']; ?></td>
    								<td><?php echo $donnees['telephone_port']; ?></td> 
    								<td><?php echo $donnees['telephone_fixe'];?></td> 
    								<td><?php echo $donnees['fax']; ?></td> 
    							</tr>
    						</p>
    						<?php 
    						$donnees = $sql->fetch();
    					}
    						?>
    			</table>
    		</div>
    		<div id="pied_de_page">
    			<p>Copyright "LogicSystems Corporation" 2005, tous droits réservés</p>
    		</div>
    	</body>
    </html>

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2004
    Messages : 329
    Points : 608
    Points
    608
    Par défaut
    Le code php étant exécuté coté serveur, j'ai du mal à voir l'impact du navigateur... ;-)

    Précise mieux ton problème et ton histoire de "il m'affiche toujours le code apres un -> au lieu de l'executer..."

  6. #6
    Futur Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 32

    Informations forums :
    Inscription : Novembre 2010
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Je ne sais pas comment mieux l'expliquer :/
    Le navigateur m’écrit mes variables php dans ma page au lieu de les exécuter, ce qui fais que le code ne fonctionne pas et que ma page internet est bourrée de code en php ^^
    Si ce n'est pas clair, dis le moi je t'envoie un screen

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2004
    Messages : 329
    Points : 608
    Points
    608
    Par défaut
    Ok je comprends, simplement c'est forcément un problème de setup de ton serveur web, rien à voir avec le choix du navigateur...

  8. #8
    Futur Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 32

    Informations forums :
    Inscription : Novembre 2010
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    J'ai réinstallé Wamp tout a l'heure et ça n'arien changé. SI tu vois comment le configurer pour le résoudre, ce serais super =)

  9. #9
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    ton display_errors est bien sur On ? et comment est t'as valeur de error_reporting ?

  10. #10
    Membre actif
    Inscrit en
    Mai 2010
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 177
    Points : 210
    Points
    210
    Par défaut
    Je ne sais pas si ça qui fait planter le tout, mais dans la ligne suivante, il n'y aurait pas une virgule de trop juste avant les parenthèses fermantes à la fin?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $resultat->execute(array($recherche, $recherche, $recherche,
     $recherche, $recherche, $recherche, $recherche, $recherche,));

  11. #11
    Futur Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 32

    Informations forums :
    Inscription : Novembre 2010
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    @stealth35 Comment je regarde ?
    @osuwariboy c'est en effet une erreur mais elle ne fais pas planter le code

    édit:
    J'ai enlevé la ; devant display_error dans le php.ini et je l'ai mise a 1.
    Pour ce qui est du error_reporting il y a une ; devant mais je ne sait pas quelle valeur mettre.

  12. #12
    Membre actif
    Inscrit en
    Mai 2010
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 177
    Points : 210
    Points
    210
    Par défaut
    normalement, la valeur pour le error_reporting est:

    error_reporting = E_ALL | E_STRICT

  13. #13
    Membre actif
    Inscrit en
    Mai 2010
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 177
    Points : 210
    Points
    210
    Par défaut
    Au fait, autre chose que j'ai remarqué c'est que tu écris ta page de bout en bout. Est-ce que tu as essayé de rajouter la ligne suivante dans ton entête, on ne sais jamais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    Je ne pense pas que ça change grand chose, mais au point où on en est, ce n'est pas grand chose d'essayer .

    Osu

    edit: charset=utf8 fonctionne également, mais je ne connais pas le jeu de caractères de ton applications alors j'ai mis celui que j'utilise le plus fréquemment .

  14. #14
    Expert éminent sénior

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Points : 10 726
    Points
    10 726
    Par défaut
    Citation Envoyé par boxster77 Voir le message
    @stealth35 Comment je regarde ?
    @osuwariboy c'est en effet une erreur mais elle ne fais pas planter le code

    édit:
    J'ai enlevé la ; devant display_error dans le php.ini et je l'ai mise a 1.
    Pour ce qui est du error_reporting il y a une ; devant mais je ne sait pas quelle valeur mettre.
    t'es sur que c'était pas les commentaires ?

  15. #15
    Futur Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 32

    Informations forums :
    Inscription : Novembre 2010
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    ah oui x)
    le display_error est sur on et error_reporting = E_ALL

    édit:
    @osuwariboy le | E_STRICT ne corrige pas le problème et la baliste meta non plus :/

  16. #16
    Membre actif
    Inscrit en
    Mai 2010
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 177
    Points : 210
    Points
    210
    Par défaut
    Bon, au point suivant alors . Comme tu le sais probablement, PHP est sensible à la casse alors fait attention avec tes "If", il ne doit pas y avoir de majuscule dans le mot clé. Également, tu fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    .......
     
    If ($resultat == 0){
    }
    else {
    }
    ?>
    <table class="contacts">
    Sans vouloir paraître pointilleux, cette condition ne sert strictement à rien actuellement .

    Finalement, si ceci ne règle toujours pas le problème, ce que je ferais c'est de copier uniquement mon code PHP sur une autre page PHP vierge pour voir si tout fonctionne correctement.

    Ah oui, détail un peu embarrassant, comment se nomme ton fichier PHP, est ce que c'est quelque chose comme "page.php" ou "page.html", parce que si c'est "page.html", peu importe ce que tu vas faire, le code va être interprété comme du HTML, même si c'est du PHP.

    Bonne chance .

  17. #17
    Futur Membre du Club
    Inscrit en
    Novembre 2010
    Messages
    13
    Détails du profil
    Informations personnelles :
    Âge : 32

    Informations forums :
    Inscription : Novembre 2010
    Messages : 13
    Points : 6
    Points
    6
    Par défaut
    Problème résolu !
    C’était une histoire d'adresse C://Wamp/www/monfichier.php au lieu de Localhost/monfichier.php
    Je m'en étais pas aperçu ^^

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

Discussions similaires

  1. Mon fichier .css n'est pas pris en compte!
    Par Nicolas74 dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 18/05/2010, 18h03
  2. [CSS 2.1] Mon fichier .css n'est pas pris en compte par Firefox 3.0.x
    Par anxious dans le forum Mise en page CSS
    Réponses: 5
    Dernier message: 11/12/2009, 13h56
  3. Mon code Behind n'est pas pris en compte.
    Par Spidermeu dans le forum ASP.NET
    Réponses: 20
    Dernier message: 11/07/2009, 17h47
  4. [PHP 5.2] Mon else n'est pas pris en compte
    Par beegees dans le forum Langage
    Réponses: 2
    Dernier message: 14/05/2009, 09h16
  5. Mon script cron n'est pas pris en compte
    Par tomnie dans le forum Linux
    Réponses: 11
    Dernier message: 31/03/2004, 11h19

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