Probleme d'affichage de données de type char

AT2704 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -  
AT2704 Messages postés 18 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   126
 
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   Statut Membre Dernière intervention  
 
merci :) ca marche
0