Demande d'aide pour modification de donnée dans une base de donnée

Résolu/Fermé
caro - Modifié le 1 mai 2020 à 10:37
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 1 mai 2020 à 10:44
bonjour tous le monde j'ai deux soucis je viens vers vous pour vous demander de m'aider.

1) ok pour le premier soucis j'essaie de modifier une donnée dans ma base de données mais jai cette erreur la : Erreur fatale : erreur non interceptée: appel à la fonction non définie mysqli_result () a la ligne 15....

2)deuxièmement j aimerai passer de mysqli a pdo avec ce même code mais je ne sais vraiment pas comment m'y prendre ci dessous mon code:

NB:ma ligne 15 correspond a $idmodif....merci de maider

<?php
$idmodif = $_GET['uID'];

 include('includes/connection.php');

 $sql ="SELECT * FROM articles where id_article = '$idmodif'";
 $result = mysqli_query($connexion, $sql);

 $num = mysqli_num_rows($result);

 $i = 0;

 while ($i < $num)
 {
$idmodif = mysqli_result($result,$i,"id");
  $nom = mysqli_result($result,$i,"nom");
  $prix = mysqli_result($result,$i,"prix");
  $decrire = mysqli_result($result,$i,"description");
  $i++;
 }

?>
<?php
 require_once("functions/function.php");
 get_header();
 get_sidebar();
 get_bread_four();
?>
   <div class="row-fluid sortable">
    <div class="box span12">
     <div class="box-header" data-original-title>
      <h2><i class="halflings-icon white edit"></i><span class="break"></span>Update articles</h2>
      <div class="box-icon">
       <a href="users.php" class="btn-close"><i class="halflings-icon white remove"></i></a>
      </div>
     </div>
     <div class="box-content">
      <form class="form-horizontal" method="post" action="update_articles.php">
       <fieldset>
         <div class="control-group">
        <label class="control-label" for="focusedInput">name:</label>
        <div class="controls">
          <input class="input-xlarge focused" name="nom" id="focusedInput" type="text" placeholder="nom article" 
          value="<?php echo $nom; ?>">
        </div>
         </div>
         <div class="control-group">
        <label class="control-label" for="focusedInput">Prix:</label>
        <div class="controls">
          <input class="input-xlarge focused" name="prix" id="focusedInput" type="text" placeholder="Price"
          value="<?php echo $prix; ?>">
        </div>
         </div>
         <div class="control-group">
        <label class="control-label" for="focusedInput">description:</label>
        <div class="controls">
        <textarea id="story" name="description" rows="5" cols="33"  value="<?php echo $decrire; ?>"></textarea>
        </div>
         </div>
         
         <div class="form-actions">
        <button type="submit" onclick="return confirmUpdate()" class="btn btn-primary">Save Changes</button>
        <input type="hidden" name="hid" value="<?php echo $idmodif; ?>">
         </div>
       </fieldset>
      </form>
     
     </div>
    </div><!--/span-->
   
   </div><!--/row-->
<?php
 get_footer();
?>  

 
<!--  <div class="common-modal modal fade" id="common-Modal1" tabindex="-1" role="dialog" aria-hidden="true">
  <div class="modal-content">
   <ul class="list-inline item-details">
    <li><a href="http://themifycloud.com">Admin templates</a></li>
    <li><a href="http://themescloud.org">Bootstrap themes</a></li>
   </ul>
  </div>
 </div> -->


EDIT : Ajout du LANGAGE dans les balises de code pour avoir la coloration syntaxique.
A voir également:

1 réponse

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
Modifié le 1 mai 2020 à 10:44
Bonjour,

Il ne suffit pas de mettre un i à mysql pour transformer ton code en mysqli ....
Il faut lire la doc !

La fonction mysqli_result n'existe pas....

Il faut modifier ton code :
 $sql ="SELECT * FROM articles where id_article = '$idmodif'";
 $result = mysqli_query($connexion, $sql);

$row = mysqli_fetch_assoc($result);
$nom = $row['nom'];
$prix= $row['prix'];
$decrire= $row['decrire'];



pour ce qui est de passer à PDO :
Primo, pour la connexion à la bdd : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs

Ensuite, pour ton exemple de code précis :
//préparation de la requête et des variables
 $sql ="SELECT * FROM articles where id_article = :idmodif ";

 $datas = array(':idmodif'=>$idmodif);

//Execution de la requete
try{
  $requete = $bdd -> prepare($sql) ;
  $requete->execute($datas) ;
}catch(Exception $e){
  // en cas d'erreur :
   echo " Erreur ! ".$e->getMessage();
   echo " Les datas : " ;
  print_r($datas);
  exit;
}

$row = $requete->fetch();
$nom = $row['nom'];
$prix= $row['prix'];
$decrire= $row['decrire'];






0