Probleme d'affichage de données de type char

AT2704 Messages postés 27 Statut Membre -  
AT2704 Messages postés 27 Statut Membre -
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();  

?>

A voir également:

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 27 Statut Membre
 
merci :) ca marche
0