problème requête DELETE


webac
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 373
Inscription: 4 Mar 2005

problème requête DELETE

Message le Mer Aoû 08, 2007 13:58

Bonjour,

pouvez-vous me dire ou j'ai commis une erreur sur la requete de suppression car j'obtiens ce message d'erreur :

Code: Tout sélectionner
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in ...


voici mon code
Code: Tout sélectionner
<?
session_start();
if(!isset($_SESSION['login'])) {
  echo '<center>Vous devez vous identifier pour acceder à cette page</center>';
  include('identification.php');
  exit;
}
?>
<?
$db = mysql_connect('localhost', 'root', '')  or die('Erreur de connexion '.mysql_error());

      mysql_select_db('test',$db)  or die('Erreur de selection '.mysql_error());
$select="SELECT * FROM candidats WHERE login= '$login'";
$req = mysql_query($select) or die('Erreur SQL !<br />'.$select.'<br />'.mysql_error());
// on recupere le resultat sous forme d'un tableau
$data = mysql_fetch_array($select);
$sql="DELETE FROM candidats WHERE id = $data['id']";
$requete = mysql_query($sql) or die( mysql_error() ) ;
?>
merci d'avance à tous

Didier_S
WRInaute impliqué
WRInaute impliqué
 
Messages: 567
Inscription: 24 Aoû 2004

Message le Mer Aoû 08, 2007 14:08

$sql="DELETE FROM candidats WHERE id = $data['id']";

=>

$sql="DELETE FROM candidats WHERE id = ".$data['id'];

$data['id'] n'est pas parsé correctement si tu l'écris directement dans la chaîne

de rien ;)


webac
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 373
Inscription: 4 Mar 2005

Message le Mer Aoû 08, 2007 14:32

j'obtiens cette erreur maintenant :

Code: Tout sélectionner
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\program files\easyphp1-8\www\candidats\suppression.php on line 16
Erreur de syntaxe près de '' à la ligne 1


rog
WRInaute passionné
WRInaute passionné
 
Messages: 1662
Inscription: 21 Sep 2006

Message le Mer Aoû 08, 2007 14:41

le resultat de ta requête est vide

rog

Didier_S
WRInaute impliqué
WRInaute impliqué
 
Messages: 567
Inscription: 24 Aoû 2004

Message le Mer Aoû 08, 2007 14:45

au temps pour moi !
Code: Tout sélectionner
$data = mysql_fetch_array($req); // on récupère sur le résultat, pas sur la requête


ça devrait marcher comme ça
dans le cas contraire, n'hésite pas à revenir ;)

fonctionnement : mysql_query($requete) envoie la requete au serveur, qui calcule et prépare les résultats
mysql_fetch_array (ou fetch_assoc, etc) récupère les résutats sous la forme souhaitée
note: si tu utilises $data['id'] plutot que $data[0], (selon tes préférences), utilises plutot mysql_fetch_assoc($req), ca évitera que tu aies les résultats en double dans la requête (c'est couper les cheveux en 4, mais c'est toujours bon à prendre)


webac
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 373
Inscription: 4 Mar 2005

Message le Mer Aoû 08, 2007 15:00

parfait merci didier ça fonctionne nickel

Didier_S
WRInaute impliqué
WRInaute impliqué
 
Messages: 567
Inscription: 24 Aoû 2004

Message le Mer Aoû 08, 2007 15:10

"ENCORE UNE VICTOIRE DE CANARD !"

(rhalala, depuis le temps que j'attendais de la placer, celle-là... merci webac !)


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité