Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/11/2010, 13h35   #1
Invité de passage
 
Florian Dudoit
Inscription : novembre 2010
Messages : 13
Détails du profil
Informations personnelles :
Nom : Florian Dudoit
Âge : 20

Informations forums :
Inscription : novembre 2010
Messages : 13
Points : 3
Points : 3
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 :
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 =)
boxster77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 14h37   #2
Modérateur
 
Avatar de CinePhil
 
Homme Philippe Leménager
Ingénieur d'études en informatique
Inscription : août 2006
Messages : 10 957
Détails du profil
Informations personnelles :
Nom : Homme Philippe Leménager
Âge : 48
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 : 10 957
Points : 18 165
Points : 18 165
Envoyer un message via MSN à CinePhil
C'est laquelle, la ligne 49 ?
__________________
Philippe Leménager. Ingénieur d'étude à l'École Nationale de Formation Agronomique.
Mon blog sur la conception des BDD, le langage SQL, le PHP avec Zend Framework...
« 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 Mandriva Linux ou Mageïa ! Soutenons l'industrie logicielle française !
Linuxiens, comptez-vous !
CinePhil est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 14h44   #3
Membre éclairé
 
Inscription : octobre 2004
Messages : 235
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 235
Points : 360
Points : 360
Celle là je crois :

Code :
1
2
 
$sql = $connexion->prepare("SELECT * FROM Contacts WHERE Nom = :recherche");

Active l'affichage des erreurs php : ini_set('display_errors', 1);
Joker-eph est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 17h06   #4
Invité de passage
 
Florian Dudoit
Inscription : novembre 2010
Messages : 13
Détails du profil
Informations personnelles :
Nom : Florian Dudoit
Âge : 20

Informations forums :
Inscription : novembre 2010
Messages : 13
Points : 3
Points : 3
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 :
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>
boxster77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 17h08   #5
Membre éclairé
 
Inscription : octobre 2004
Messages : 235
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 235
Points : 360
Points : 360
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..."
Joker-eph est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 17h14   #6
Invité de passage
 
Florian Dudoit
Inscription : novembre 2010
Messages : 13
Détails du profil
Informations personnelles :
Nom : Florian Dudoit
Âge : 20

Informations forums :
Inscription : novembre 2010
Messages : 13
Points : 3
Points : 3
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
boxster77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 17h15   #7
Membre éclairé
 
Inscription : octobre 2004
Messages : 235
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 235
Points : 360
Points : 360
Ok je comprends, simplement c'est forcément un problème de setup de ton serveur web, rien à voir avec le choix du navigateur...
Joker-eph est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 17h19   #8
Invité de passage
 
Florian Dudoit
Inscription : novembre 2010
Messages : 13
Détails du profil
Informations personnelles :
Nom : Florian Dudoit
Âge : 20

Informations forums :
Inscription : novembre 2010
Messages : 13
Points : 3
Points : 3
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 =)
boxster77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 17h39   #9
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 464
Points : 8 464
ton display_errors est bien sur On ? et comment est t'as valeur de error_reporting ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 21h11   #10
Membre actif
 
Tobbi Filteau
Inscription : mai 2010
Messages : 176
Détails du profil
Informations personnelles :
Nom : Tobbi Filteau

Informations forums :
Inscription : mai 2010
Messages : 176
Points : 177
Points : 177
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 :
1
2
$resultat->execute(array($recherche, $recherche, $recherche,
 $recherche, $recherche, $recherche, $recherche, $recherche,));
osuwariboy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 22h17   #11
Invité de passage
 
Florian Dudoit
Inscription : novembre 2010
Messages : 13
Détails du profil
Informations personnelles :
Nom : Florian Dudoit
Âge : 20

Informations forums :
Inscription : novembre 2010
Messages : 13
Points : 3
Points : 3
@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.
boxster77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/11/2010, 22h38   #12
Membre actif
 
Tobbi Filteau
Inscription : mai 2010
Messages : 176
Détails du profil
Informations personnelles :
Nom : Tobbi Filteau

Informations forums :
Inscription : mai 2010
Messages : 176
Points : 177
Points : 177
normalement, la valeur pour le error_reporting est:

error_reporting = E_ALL | E_STRICT
osuwariboy est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 29/11/2010, 22h43   #13
Membre actif
 
Tobbi Filteau
Inscription : mai 2010
Messages : 176
Détails du profil
Informations personnelles :
Nom : Tobbi Filteau

Informations forums :
Inscription : mai 2010
Messages : 176
Points : 177
Points : 177
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 :
<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 .
osuwariboy est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 30/11/2010, 00h50   #14
Modérateur
 
Inscription : septembre 2010
Messages : 7 101
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 101
Points : 8 464
Points : 8 464
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 ?
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2010, 08h54   #15
Invité de passage
 
Florian Dudoit
Inscription : novembre 2010
Messages : 13
Détails du profil
Informations personnelles :
Nom : Florian Dudoit
Âge : 20

Informations forums :
Inscription : novembre 2010
Messages : 13
Points : 3
Points : 3
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 :/
boxster77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/11/2010, 14h48   #16
Membre actif
 
Tobbi Filteau
Inscription : mai 2010
Messages : 176
Détails du profil
Informations personnelles :
Nom : Tobbi Filteau

Informations forums :
Inscription : mai 2010
Messages : 176
Points : 177
Points : 177
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 :
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 .
osuwariboy est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 30/11/2010, 14h58   #17
Invité de passage
 
Florian Dudoit
Inscription : novembre 2010
Messages : 13
Détails du profil
Informations personnelles :
Nom : Florian Dudoit
Âge : 20

Informations forums :
Inscription : novembre 2010
Messages : 13
Points : 3
Points : 3
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 ^^
boxster77 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h36.


 
 
 
 
Partenaires

Hébergement Web