Probleme d'affichage de données de type char

Fermé
AT2704 Messages postés 18 Date d'inscription mardi 25 février 2014 Statut Membre Dernière intervention 20 mars 2018 - 2 mai 2014 à 19:01
AT2704 Messages postés 18 Date d'inscription mardi 25 février 2014 Statut Membre Dernière intervention 20 mars 2018 - 2 mai 2014 à 21:42
Bonjour,
j'ai une page d'affichage des client qui consiste à entrer l'identifiant du client à afficher puis cliquer sur la bouton afficher
mais j'ai une problème les clients dont leurs identifiants de type entier sont affichés mais les identifiants de type char il affiche une erreur
"Warning: mysql_fetch_array() expects parameter 1 to be resource"
merci de m'aider
<?php
session_start();
?>
<html>
<h2 ALIGN="center"></br></br>Affiche des données d'un utilisateur</h2>
 <form action ="#" name="con" method ="post"><H3 ALIGN="center">Identifiant de l'utilisateur:</br>
 <input type="text" name="Id" /><br />
<input type="submit" name="Afficher" value="Afficher"/> <br />

 </form> 
 </html> 
 
<?php

 
	// Connexion au serveur de base de données
	$con= mysql_connect("localhost", "root", "");
    if(!$con){
    die('Erreur de connexion'.mysql_error());
    }
	
		// Selection de la base de données
		$select_result = mysql_select_db("configuration"); 
		
if(isset($_POST['Afficher'])) {
if (isset($_POST['Id']))
{
		$Id=$_POST['Id'];
		// vérification des champs 
$msg_erreur = "<br/>Erreur!Les champs suivants doivent etre obligatoirement remplis :<br/><br/>";
$msg_ok = "Votre demande a bien été prise en compte.";
$message = $msg_erreur;
if (empty($_POST['Id'])) 
  $message .= "Identifiant de l'utilisateur<br/>";
  // si un champ est vide, on affiche le message d'erreur 
if (strlen($message) > strlen($msg_erreur)) {
 
  echo $message;
 }
// sinon c'est ok 
 else {

$sql = mysql_query("SELECT * FROM utilisateur where Id=$Id" );  

$data = mysql_fetch_array($sql)  ;

if(mysql_num_rows($sql)== 1)
{?>
<TABLE BORDER="1"> 
  <CAPTION> Les données de cet utilisateur </CAPTION> 
  <TR> 
 <TH> Identifiant</TH> 
 <TH> Nom </TH> 
 <TH> Prenom </TH> 
 <TH> Etablissement </TH> 
 <TH> direction </TH> 
 <TH> Fonction </TH> 
 <TH> Numéro de téléphone</TH> 
 <TH> Droit d'accés</TH> 
 <TH> Droit d'affichage</TH> 
  </TR> 
 <tr>
   	<td><?php echo $data['Id'];?></td>
   	<td><?php echo $data['Nom'];?></td>
	<td><?php echo $data['Prenom'];?></td>
	<td><?php echo $data['Etablissement'];?></td>
	<td><?php echo $data['direction'];?></td>
	<td><?php echo $data['Fonction'];?></td>
	<td><?php echo $data['tel'];?></td>
	<td><?php echo $data['acces'];?></td>
	<td><?php echo $data['Client'];?></td>
  </tr>
  <?php   
  } 
  
  else{
echo " utilisateur introuvable";}

 }}}

 
mysql_close();  

?>

1 réponse

Nhay Messages postés 838 Date d'inscription vendredi 2 novembre 2012 Statut Membre Dernière intervention 17 décembre 2015 126
2 mai 2014 à 21:34
Entoure simplement la variable $id par des apostrophes dans ta requête.
(+Sécu injection SQL)
0
AT2704 Messages postés 18 Date d'inscription mardi 25 février 2014 Statut Membre Dernière intervention 20 mars 2018
2 mai 2014 à 21:42
merci :) ca marche
0