[RESOLU] [MYSQLI & PHP] Problème avec UPDATE

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] [MYSQLI & PHP] Problème avec UPDATE

Re: [MYSQLI & PHP] Problème avec UPDATE

par Martingale » 12 août 2016, 09:04

SOLUTION

Je me réponds tout seul mais la solution pourra aider d'autres personnes.

Le problème venait du type de variable passées :
- Je renvoyais dans mon $tarif un double ( Du moins je le pensais ! ) . En fait c'était un string . Pour connaître le type de variable renvoyée par PHP il faut utiliser

Code : Tout sélectionner

<?php gettype ?>
- J'ai donc modifier le type de ma variable $tarif comme suit :

Code : Tout sélectionner

<?php $tarif = (double)$tableau_tarifs[$i][$j]; ?>
Voir sur PHP.NET pour la manipulation des types.

En espérant que ça vous sera utile.

[MYSQLI & PHP] Problème avec UPDATE

par Martingale » 11 août 2016, 11:47

Bonjour,
J'ai un soucis avec un Update de ma base de donnée MySQL avec l'API MySQLi.
J'ai un tableau de remboursement de frais kilométriques que je cherche à mettre à jour mais rien ne se passe au niveau de la base de donnée ( Blocage au niveau de ma requête sûrement ... :oops: )
Les

Code : Tout sélectionner

// ok
dans le code signifient que j'ai le bon affichage .
Voici le code :

Code : Tout sélectionner

<?php public function modifierTableauFraisKm($array,$db) { $this->_cv_5_2mil = str_replace(",",".",$array["cv_5_2mil"]); $this->_cv_5_10mil = str_replace(",",".",$array["cv_5_10mil"]); $this->_cv_5_10mil1 = str_replace(",",".",$array["cv_5_10mil1"]); $this->_cv_7_2mil = str_replace(",",".",$array["cv_7_2mil"]); $this->_cv_7_10mil = str_replace(",",".",$array["cv_7_10mil"]); $this->_cv_7_10mil1 = str_replace(",",".",$array["cv_7_10mil1"]); $this->_cv_8_2mil = str_replace(",",".",$array["cv_8_2mil"]); $this->_cv_8_10mil = str_replace(",",".",$array["cv_8_10mil"]); $this->_cv_8_10mil1 = str_replace(",",".",$array["cv_8_10mil1"]); $tableau_tarifs = array( array($this->_cv_5_2mil,$this->_cv_5_10mil,$this->_cv_5_10mil1), array($this->_cv_7_2mil,$this->_cv_7_10mil,$this->_cv_7_10mil1), array($this->_cv_8_2mil,$this->_cv_8_10mil,$this->_cv_8_10mil1) ); // OK print_r($tableau_tarifs); $id = 0; for($i=0;$i<3;$i++) { for($j=0;$j<3;$j++) { $tarif = $tableau_tarifs[$i][$j]; $id = $id + 1; // OK echo ('Id = '.$id.' --> Tarif = '.$tarif.'<br />'); $req_prep = mysqli_prepare($db,'UPDATE tarifs_km SET remb_km=? WHERE id=?'); mysqli_stmt_bind_param($req_prep,'di',$tarif,$id) or die(mysqli_error($db)); mysqli_stmt_execute($req_prep); } } } ?>
Là ou je ne comprends pas c'est que cette requête est utilisée ailleur pour mettre à jour une autre table mais ici elle ne fonctionne pas !
Merci d'avance de vos futurs commentaires.