Veuillez vous connecter ou créer un compte pour suivre ce topic
Ce topic est suivi par: Malib, Wistaro
Ce topic a été résolu
Auteur Sujet: Problème d'UPDATE qui me bloque depuis hier soir! :/

Malib

Messages: 79

Bonjour:
voila le code:
<?php
 
 
            if(isset($_SESSION['id']) AND !empty($_SESSION['id'])) /* permet de verifier si le membre est connecté ou non */
             
            {
                     
                    $idpopulation = intval($_SESSION['id']);
                    $reqpop = $bdd->prepare("SELECT * FROM population WHERE id = ? ");
                    $reqpop->execute(array($idpopulation));
                    $population = $reqpop->fetch();
                     
                     
                    $popucivil=$population['civil'];
                    $popuchercheur=$population['chercheur'];
                    $popusoldat=$population['soldat'];
                    $popuglobal=$popuchercheur+$popucivil+$popusoldat;
                 
                 
                    {
                    echo "Civil : " . $popucivil . " <br/>
                    chercheur : " . $population['chercheur'] . " <br/>
                    soldat : " . $popusoldat . " <br/>
                    global : " . $popuglobal .'<br />';
                    }
                     
                     
                     
                            if(isset($_POST['valider_changement']));
                                {
                                        if(isset($_POST['soldat']))
                                                    {
                                                         
                                                        $popucivil=$popucivil-($_POST['soldat']);
                                                        $popusoldat=($_POST['soldat'])+$popusoldat;
                                                         
                                                        var_dump($popusoldat);
                                                         
                                                         
                                                         
                                                         
                                                        /* requete qui n'est pas bonne*/
                                                        $up=$bdd->prepare('UPDATE population SET civil = $popucivil,soldat = $popusoldat  WHERE id = ?');
                                                         
                                                         
                                                        var_dump($populationup);
                                                        var_dump($id);
                                                         
                                                        echo "Civil : " . $popucivil . " <br/>
                                                        chercheur : " . $population['chercheur'] . " <br/>
                                                        soldat : " . $popusoldat . " <br/>
                                                        global : " . $popuglobal .'<br />';
 
                                                    }
                                }
 
                                 
                                 
 
 
             
             
?>




Donc a priori dans mon formulaire pour le moment j'ai bon, quand j'entre X soldats il sont bien retiré à la partie civil et ajouté. seul pépin c'est que c'est pas enregistré dans la BDD.

L'update ne se fait pas, j'ai essayé plusieurs façon de faire la requete mais sa ne fonctionne pas :/ j'en appel à vos connaissances!
merci d'avance
Publicité

Wistaro

Messages: 76

Je suppose que le problème vient du fait que ligne 43 tu prépares juste ta fonction avec prepare->().
Cette fonction ne peux pas s'utiliser seule, elle attend que tu lui passes les paramètres. 
À la place utilise exec>() ou 
Ou prepare->() puis execute->(array(tes paramètres))


Autrement regarde les logs php pour voir le(s) problème(s). Dans ton cas, c'est normal que ça ne génère aucune erreur. Éventuellement un warning, mais pas sûr. 

Cf la doc: http://php.net/manual/fr/pdo.prepared-statements.php

Malib

Messages: 79

oui, mais le truc c'est qu'enfaite la j'ai retiré mon execute car je n'ai que des erreurs enfaite peut importe ce que je fais. et je n'arrive pas à comprendre. Meme en suivant des tutos rien ne s'UPDATE :/

Donc la pour eviter l'erreur sur ma page j'ai retiré le bout du code mais j'ai essayé vraiment beaucoup de choses en vain :/

Malib

Messages: 79

j'ai du nouveau:



if(isset ($_POST['soldat']) AND !empty($_POST['soldat']))
                                       {
                                          
                                          $popucivil=$popucivil-($_POST['soldat']);
                                          $popusoldat=($_POST['soldat'])+$popusoldat;
                                          
                                          $reqrecupcivil=$bdd->prepare('UPDATE population SET soldat = ?, civil= ? WHERE id = ?');
                                          $reqrecupcivil->execute(array($_POST['soldat'],$popucivil,($_SESSION['id'])));
Donc sa fonctionne maintenant! Juste un petit problème.

Civil: 1000
soldat: 1000
chercheur:1000
Total: 3000

Si je met 500 soldat

j'aurais bien :

Civil: 500
soldat: 1500

Mais si derrière je fais ajouter 100 dans soldat j'aurais

Civil: 400
soldat: 600

Donc il doit y avoir quelque chose que j'ai oublié ^^ Sinon l'update dans la BDD est bon Clin d'oeil

Malib

Messages: 79

Mise à jours: j'ai réglé le problème Clin d'oeil


Veuillez vous connecter ou créer un compte pour poster une réponse