Un UPDATE... Mais non !

Résolu
nanti Messages postés 59 Date d'inscription samedi 14 avril 2007 Statut Membre Dernière intervention 2 avril 2010 - 16 avril 2009 à 15:26
nanti Messages postés 59 Date d'inscription samedi 14 avril 2007 Statut Membre Dernière intervention 2 avril 2010 - 19 avril 2009 à 18:23
Bonjour à tous !

J'ai un soucis sur l'update d'une de mes tables...

Voici le code que j'ai créé pour ce dernier :

function updateWhatsUp() {

$newTitre=$_POST['titreWhatsUp']; // post d'un champ input
$newTexte=$_POST['texteWhatsUp']; // post d'un textarea
$id=$_POST['idWhatsUp']; // post d'un select et name du select

    $sqlWhatsUp="UPDATE admin_whatsup SET titreWhatsUp='$newTitre',textWhatsUp='$newText' WHERE id='$id'";
    $resWhatsUp=mysql_query($sqlWhatsUp) or die ('erreur transmission update');
   
    if ($resWhatsUp) {
        return 'fonctionne'; // Test true
    }
    else {
        return 'nickel no'; // Test false
    }
}

Dans ma page php, je fais un appel de la fonction lui indiquant un include du fichier où se trouve la fonction ; mais rien ne se passe et ma bdd garde ses anciennes valeurs !

Donc, please help !!!

Merci d'avance aux âmes de bonne volonté !!!!

2 réponses

nanti Messages postés 59 Date d'inscription samedi 14 avril 2007 Statut Membre Dernière intervention 2 avril 2010
19 avril 2009 à 18:23
Merci kohntark !

Grâce à toi ça fonctionne à présent, et visiblement la faille de sécurité qui était dans mon code est résolue par mysql_real_escape_string !

Par contre, j'ai essayé de compléter ma fonction en testant si l'id existe :
-> SI tel est le cas, un UPDATE doit se faire ;
-> SINON, c'est un INSERT qui doit prendre la relève !
Problème : lorsque ma fonction est lue, mysql_error() me dit : "Query was empty" !!!

Quoi que ça veut dire ???

Voici le code que j'ai mis en place :

    $sqlSelWhatsUp="SELECT id FROM admin_whatsup WHERE id = '$id'";
    $resSelWhatsUp=mysql_query($SelInsWhatsUp) or die (mysql_error());
   
    $sqlInsWhatsUp="INSERT INTO admin_whatsup(heureWhatsUp,titreWhatsUp,textWhatsUp) VALUES('$dateJour','$newTitre',$newTexte)";
    $resInsWhatsUp=mysql_query($sqlInsWhatsUp) or die (mysql_error());
   
    $sqlUpdWhatsUp="UPDATE admin_whatsup SET heureWhatsUp = '$dateJour' , titreWhatsUp = '$newTitre' , textWhatsUp = '$newTexte' WHERE id = '$id'";
    $resUpdWhatsUp=mysql_query($sqlUpdWhatsUp) or die (mysql_error());
   
    if ($resSelWhatsUp) {
        $resUpdWhatsUp;
    }
    else {
        $resInsWhatsUp;
    }
}
3
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
16 avril 2009 à 18:32
Salut Nanti,

Vire les $_POST de ta fonction et passe les en arguments.

$newTitre = mysql_real_escape_string($_POST['titreWhatsUp']);
[...]
updateWhatsUp($newTitre ...

function updateWhatsUp($newTitre, $newTexte, $id) {...

Cordialement,

Kohntark -
0
Rejoignez-nous