[SQL] problème de concaténation
bonjour,
j"essais de récupérer une variable par la méthode GET car cette variable est passée par URL d'une autre page.
ensuite je veux executer une requête SQL avec cette variable dans l'expression de la requête.
$sql = 'DELETE FROM gestion_santep WHERE consultation = $_GET[id]';
où $id est passé par URL : /destination.php?id=4
malheureusement la variable $sql n'est pas equivalente a :
$sql = 'DELETE FROM gestion_santep WHERE consultation = 4'; (je le sais en faisant echo $sql).
quelle est la bonne syntaxe svp? Merci
yvon
1 pièce(s) jointe(s)
il me semble que le probleme ne soit pas la car rien de ce aue j'essais ne marche.
merci pour le debat aue cela a sucite mais mon probleme se situe a un niveau infeieur en terme de technicite je pense.
quoique je fasse (extract(), entourage des simple quotes par des doubles quotes. ) j'obtiens le message suivant:
Notice: Undefined variable: id in c:\program files\easyphp1-8\www\gestion\gestiondelete.php on line 16
pour information je vous livre la config de mon serveur php en piece jointe:
y a il un pb de config? ca fait deux jours que je me casse les dents sur ce pb.grrrr
pour info ce lscript marche sur le serveur de free mais pas chez moi.
bon je vais poster en integralite le code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<TITLE>Index</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
</HEAD>
<?
include("connect.php");
?>
<H1>Confirm deletion</H1>
<? if (isset($_POST['confirm'])) {
$id = $_GET['id'];
$sql = "DELETE FROM gestion_santep WHERE consultation='".$id."'";
if($result=mysql_query($sql))
{echo "l'écriture a réussi";
require("gestionLinkBar.php");
} else {
echo "erreur d'écriture.";
}
}
else if (isset($_POST['cancel'])){
echo "Goodbye";
require("gestionLinkBar.php");
}
?>
<form method="POST" action="gestionDelete.php">
<input type="submit" name="confirm" value="Confirm">
<input type="submit" name="cancel" value="Cancel">
merci
ok mais n empeche que ca non plus ca ne marche pas...
j ai toujours le meme message...
il me dit toujours que la variable est indefinie..
J'ai compris mon problème
en fait en cliquant sur "confirm", j'envoi sur une nouvelle occurence la même page, du coup comme la variable $id n'existe que pour une seule page et qu'elle n'est pas gardée en mémoire pour le nouvel appel, elle n'existe plus...
du coup j'ai tenté une autre solution sans les formulaires.
j'utilise uniquement des lien URL pour passer des valeurs entre les pages et ça marche beaucoup mieux!
Yvon
moralité, n'utilisez les formulaires que pour entrer des données dans une base.