probleme requête mais je vois pas ou!!!

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : probleme requête mais je vois pas ou!!!

par Aureusms » 31 mai 2007, 23:10

Question pourquoi tu fais :
$numcolla = $_GET['numcol'];

$sql = "Select * From collaborateur Where num_collaborateur = '" . $_GET['numcol'] . "' "; 
et pas :?
$numcolla = $_GET['numcol'];

$numcolla = str_replace ("'", "",$numcolla); // ligne pour réduire les injections sql

$sql = "Select * From collaborateur Where num_collaborateur = '" . $numcolla . "' "; 
En plus, as tu dans ta barre d'adresse : http://tonsite.com?numcol=123
123 est un exemple bien sûr !!!

par Ryle » 31 mai 2007, 16:08

pas vesoin d'utiliser les cote simple et double en même temps l'un ou l'autre.
Euh.... même si à priori ici ça ne change pas grand chose, l'explication peut prêter à confusion. En sql, les chaines de texte dans la requête (varchar, text, date, ...) doivent être délimitées par des apostrophes (évitez les guillemets!) en revanche, les nombres (int, double, ..) ne doivent pas en avoir.

La présence des apostrophes dans la requête (Where num_collaborateur = '".$_GET['numcol']."' ") peut donc être tout à fait justifié si num_collaborateur est une chaine (genre un matricule)

Voir les bonnes pratiques sql dans la FAQ :)

par Punisher » 31 mai 2007, 15:29

ta un peu trop d'espace, et ta pas vesoin d'utiliser les cote simple et double en même temps l'un ou l'autre.
essaye sa :
$sql= "Select *
		From collaborateur
                        Where num_collaborateur =".$_GET['numcol'];

		 

par charabia » 29 mai 2007, 22:03

Testes l'existence de la variable avec ISSET.

Là j'imagine que tu as cette erreur quand la variabel n'existe pas.

par coco_turbo » 28 mai 2007, 18:00

Maintenant il me met ca :
Notice: Undefined index: numcol in d:\interventions\modif_col.php on line 25

Notice: Undefined index: numcol in d:\interventions\modif_col.php on line 27
merci

par charabia » 28 mai 2007, 16:48

Fournis nous l'erreur que tu as.

Sinon je vois une erreur de syntaxe
$numcolla = $_GET['numcol'];
Il te manque le ;

probleme requête mais je vois pas ou!!!

par coco_turbo » 28 mai 2007, 15:22

bonjour,

je vien vous demander un pti cou de main car j'ai un problème dans une requête mais je ne voi po ou?

Code : Tout sélectionner

<? $numcolla = $_GET['numcol'] $sql = "Select * From collaborateur Where num_collaborateur = '" . $_GET['numcol'] . "' "; $sql_exe = mysql_query($sql) or die('Erreur : ' . mysql_error()); while($Tab = mysql_fetch_array($sql_exe)) { ?>
et la c'est la page :

Code : Tout sélectionner

<form action="envoi_ajout_col.php" method="post"> <? $numcolla = $_GET['numcol'] $sql = "Select * From collaborateur Where num_collaborateur = '" . $_GET['numcol'] . "' "; $sql_exe = mysql_query($sql) or die('Erreur : ' . mysql_error()); while($Tab = mysql_fetch_array($sql_exe)) { ?> <tr> <td width="300" align="left">Nom collaborateur : </td> <td width="200"><input name="nom_col" type="text" size="50" /><?php echo $Tab["nom_col"]; ?></td> </tr> <tr> <td width="300" align="left">Prénom collaborateur : </td> <td width="200"><input name="prenom_col" type="text" size="50" /><?php echo $Tab["prenom_col"]; ?></td> </tr> <tr> <td width="300" align="left">Service : </td> <? $sql = "Select * From services order by nom_service"; $sql_exe = mysql_query($sql) or die('Erreur : ' . mysql_error()); ?> <td width="200"> <? $ld = "<SELECT NAME='service'>"; $ld .= "<OPTION VALUE=0>Coisir un service</OPTION>"; while ( $row = mysql_fetch_array( $sql_exe)) { $numser = $row["num_service"]; $nomser = $row["nom_service"]; $ld .= "<OPTION VALUE='$numser'>$nomser</OPTION>"; } $ld .= "</SELECT>"; echo $ld ?> </td> </tr> <? } ?> </table><br /> <table width="500" border="0" cellpadding="0"> <tr> <td align="right"><input name="envoi" type="submit" value="Envoyer" /></td> <td align="left"><input name="reset" type="reset" value="Annuler" /></td> </tr> </form>
si qqun voit le problème

merci