je fais une requete de suppression avec
if(isset($_GET['id'])) $id = $_GET['id'];
else $id = '';
//
$sql = "DELETE FROM recrutement WHERE id='$_GET[id]'";
la requete ne marche pasif(isset($_GET['id'])) $id = $_GET['id'];
else $id = '';
//
$sql = "DELETE FROM recrutement WHERE id='$_GET[id]'";
la requete ne marche pas
if (isset($_GET['id'])) {
$id = $_GET['id'];
$sql = "DELETE FROM recrutement WHERE id='$id' ";
mysql_query($sql) or die (mysql_error());
}
La requête ne s'exécute que si l'id est envoyé par GET.<?php
//inclure les parametres de conf
include ("configure_file.php");
//date
$date = date("d/m/Y");
// connection à la DB
$link = mysql_connect ($host,$user,$pass);
// selection de la DB
mysql_select_db($db) or die ('Erreur: '.mysql_error());
if (isset($_GET['id'])) {
$id = $_GET['id'];
$sql = "DELETE FROM recrutement WHERE id='$id' ";
$result = mysql_query($sql, $link) or die ('Erreur: '.mysql_error());
}
//ressort results
if ($result){
echo 'candidat supprimer'. $id;
}
else
{
echo 'echec';
mysql_close ();
}
?>
echo 'candidat supprimer'. $id; ne marchera pas étant donné que $id n'est déclaré que dans ton premier IF. Une fois sortie de ce IF, normalement $id n'est plsu reconnu.if (isset($_GET['id'])) {
$id = inval($_GET['id']);
$sql = "DELETE FROM recrutement WHERE id=".$id;
$result = mysql_query($sql, $link) or die ('Erreur: '.mysql_error());
}ton id dans ta table est de quel nature? est ce un varchar ou un integer ou autre?
si c'est un integer, tu peux enlever les cotes ( ' ) qui entoure $id dans ta requete
`id` int(10) NOT NULL auto_increment,
@charabia: ca me donne le meme resultat.
echo $id; te donne ?
$id = (isset($_GET['id']) ? $_GET['id'] : 0);
$sql = "DELETE FROM recrutement WHERE id=".$_GET['id'];
Tu avais aussi une faute de frappe dans ta requête : $_GET[id] au lieu de $_GET['id']Toujours les mêmes problèmes...
Alors :
1. Vérifier le type des valeurs des variables
2. Extraire les variables des chaines
Si recrutement.id est un numérique, alors pas d'apostrophes !Tu avais aussi une faute de frappe dans ta requête : $_GET[id] au lieu de $_GET['id']$id = (isset($_GET['id']) ? $_GET['id'] : 0); $sql = "DELETE FROM recrutement WHERE id=".$_GET['id'];
Code : Tout sélectionner
Erreur: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
je suis deja en localhostTeste ta requête directement sous PhpMyAdmin pour voir si ça marche.
comment faire sur PHPmyAdminEt alors ?![]()
Le but est de vérifier si la syntaxe de ta requête est correcte.
ErreurBé tu vas dans phpmyadmin -> sql et tu colles ta requête. Si tu as une erreur c'est vite vu