requete update

Invité
Invité n'ayant pas de compte PHPfrance

24 juil. 2008, 12:05

Code : Tout sélectionner

CREATE TABLE `personne` ( `id` int(11) NOT NULL auto_increment, `nom` varchar(100) default NULL, `prenom` text, `date_paiement` date(11) unsigned NOT NULL default '0', `id_produit` int(11) NOT NULL auto_increment, `paiement` int(11) NOT NULL auto_increment, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=104 ;
bonjour je suis un peu étonné par ma requete que jexecute pour faire un mis ajour dans ma base de donnée
$dateP=date("Y-m-d");
$req_p="update personne set paiement=1 
	where id=".$CANDid."  and date_paiement=\"".$dateP."\" 
	and id_produit=".$PRODid."  ";
Mon probleme c'est qu'il met à jour tous les lignes avec id_produit=".$PRODid." meme si la date paiement est différent de $dateP

merci pour votre conseil

ViPHP
ViPHP | 5924 Messages

24 juil. 2008, 12:41

Tu peux donner plus de code ?

Invité
Invité n'ayant pas de compte PHPfrance

24 juil. 2008, 12:53

$parametre=true;
$tabparametre=explode("!",$var);
$a=$tabparametre[0];
$b=$tabparametre[1];
$c=$tabparametre[2];
$typeUTILISATEUR=$X;
if ($parametre==true)
{
  if ($a=="" || $b=="") {$parametre=false;}
}

if ($parametre==true)
{

  $req="select  id_pro from libelle where id=".$b;
  $res=mysql_query($req);
  $row=mysql_fetch_array($res);
  $PRODid=$row["id_pro"];
  

$dateP=date("Y-m-d");
$req_p="update personne set paiement=1 
where id=".$CANDid."  and date_paiement=\"".$dateP."\" 
and id_produit=".$PRODid."  ";
print $req_p;
$res_p=mysql_query($req_p) or die(mysql_error());
}
La requete est executé mais ça update tous

merci

ViPHP
ViPHP | 5924 Messages

24 juil. 2008, 13:00

Et quelle est la requête effectivement générée ?

Invité
Invité n'ayant pas de compte PHPfrance

24 juil. 2008, 13:13

En fait je voudrais execter ces 2 requetes
et elles sont toutes bien executées mais c'est la deuxiement requete qui pose probleme

elle update tous , elle ne prend pas en compte le where clause

?

Mammouth du PHP | 965 Messages

24 juil. 2008, 13:29

"UPDATE personne
SET paiement = '1'
WHERE id = '".$CANDid."'
AND date_paiement '".$dateP."'
AND id_produit = '".$PRODid."' "

Peut être une question de syntaxe ?

ViPHP
ViPHP | 5924 Messages

24 juil. 2008, 14:43

Je sais lire, je dis juste que tu affiches la requête qui est effectivement exécutée, qu'est ce que te donne cet affichage ?