FAIRE UN UPDATE en php&mysql
- Accueil
- Forum
- Discussions
- Boîte à idées
- FAIRE UN UPDATE en php&mysql
kouamkoff Le 29 juin 2019 à 00:30 (Édité le 1 janvier 1970 à 01:00)
Alors je ne comprends rien du tout car au départ mon code passait bien et sans problème lorsque je faisais mon "UPDATE" et voici le code qui marchait bien
<form action="" method="POST">
<h3 style="font-family: century gothic">Titre du produit</h3><input value="<?php echo $data->title; ?>" type="text" name="title" id="title" style="font-family: tahoma; width: 200px; border: 1px solid black; font-weight: bold;border-radius: 3px; height: 22px; text-align: center; font-size: 15px; color:#777">
<h3 style="font-family: century gothic">Description du produit</h3><textarea name='description' id='description'>
<?php echo $data->description; ?></textarea>
<h3 style="font-family: century gothic">Prix du produit</h3><input value="<?php echo $data->price; ?>" type='text' name="price" id='price' style="font-family: tahoma; width: 200px; border: 1px solid black; font-weight: bold;border-radius: 3px; height: 22px; text-align: center; font-size: 15px; color:#777" /><br /><br />
<input type="submit" name="submit" value="Mettre à Jour les informations" />
</form>
</div>
<?php
if(isset($_POST['submit'])){
$title = htmlspecialchars(trim($_POST['title']));
$description = htmlspecialchars(trim($_POST['description']));
$price = htmlspecialchars(trim($_POST['price']));
$update = $bdd->prepare("UPDATE products SET title='$title', description='$description', price='$price' WHERE $id= id");
$update->execute(array($title, $description, $price));
header('Location: admin.php?action=modifyanddelete');
}
?>
Maintenant j'ai juste rajouter quelques inputs à mon formulaire et quand je fais mon UPDATE.... plus rien s'actualise dans ma base de donnée.
voici comment j'ai procédé :
<?php
if(isset($_POST['submit'])){
$category = htmlspecialchars(trim($_POST['name']));
$title = htmlspecialchars(trim($_POST['title']));
$year = htmlspecialchars(trim($_POST['year']));
$kmendometre = htmlspecialchars(trim($_POST['km_endometre']));
$Transmission = htmlspecialchars(trim($_POST['Transmission']));
$Carburant = htmlspecialchars(trim($_POST['Carburant']));
$Moteur = htmlspecialchars(trim($_POST['Moteur']));
$couleurexterieur = htmlspecialchars(trim($_POST['couleurexterieur']));
$interieur = htmlspecialchars(trim($_POST['interieur']));
$portieres = htmlspecialchars(trim($_POST['portieres']));
$sieges = htmlspecialchars(trim($_POST['sieges']));
$price = htmlspecialchars(trim($_POST['price']));
$statut = htmlspecialchars(trim($_POST['statut']));
$discussion = htmlspecialchars(trim($_POST['discussion']));
$Etat = htmlspecialchars(trim($_POST['Etat']));
$visite_technique = htmlspecialchars(trim($_POST['visite_technique']));
$Dernier_contr_technique = htmlspecialchars(trim($_POST['Dernier_controle_technique']));
$assurance = htmlspecialchars(trim($_POST['Assurance']));
$Expiration_assurance = htmlspecialchars(trim($_POST['Expiration_assurance']));
$Demarrage = htmlspecialchars(trim($_POST['Demarrage']));
$Climatisation = htmlspecialchars(trim($_POST['Climatisation']));
$Camera_recul = htmlspecialchars(trim($_POST['Camera_recul']));
$Toit_ouvrant = htmlspecialchars(trim($_POST['Toit_ouvrant']));
$Ordinateur_bord = htmlspecialchars(trim($_POST['ordinateur_bord']));
$Gps = htmlspecialchars(trim($_POST['GPS']));
$verrou = htmlspecialchars(trim($_POST['verrouillage_centralisee']));
$volant = htmlspecialchars(trim($_POST['volantmultifonction']));
$empreinte = htmlspecialchars(trim($_POST['empreinte_digitale']));
$station = htmlspecialchars(trim($_POST['aide_stationnement']));
$regulateur = htmlspecialchars(trim($_POST['regulateur_vitesse']));
$controle = htmlspecialchars(trim($_POST['controle_pression_pneu']));
$wd = htmlspecialchars(trim($_POST['fonction_4wd']));
$Vitres = htmlspecialchars(trim($_POST['Vitres']));
$Direction = htmlspecialchars(trim($_POST['Direction']));
$Siege_regl = htmlspecialchars(trim($_POST['Siege_regl']));
$airbag = htmlspecialchars(trim($_POST['airbag']));
$remarques = htmlspecialchars(trim($_POST['remarques']));
$update = $bdd->prepare("UPDATE products SET category='$category',title='$title',year='$year',km_endometre='$kmendometre',Transmission='$Transmission',Carburant='$Carburant',Moteur='$Moteur',couleurexterieur='$couleurexterieur',interieur='$interieur',portieres='$portieres',sieges='$sieges', price='$price', discussion='$discussion',statut='$statut',Etat='$Etat',visite_technique='$visite_technique',Dernier_controle_technique='$Dernier_contr_technique',Assurance='$assurance',Expiration_assurance='$Expiration_assurance',Demarrage='$Demarrage',Climatisation='$Climatisation',Camera_recul='$Camera_recul',Toit_ouvrant='Toit_ouvrant',ordinateur_bord='$Ordinateur_bord',GPS='$Gps',empreinte_digitale='$empreinte',aide_stationnement='$station',regulateur_vitesse='$regulateur',controle_pression_pneu='$controle',fonction_4wd='$wd',volantmultifonction='$volant',verrouillage_centralisee='$verrou',Vitres='$Vitres',Direction='$Direction',Siege_regl='$Siege_regl',airbag='$airbag',remarques='$remarques' WHERE id= $id");
$update->execute(array($category,$title,$year,$kmendometre,$Transmission,$Carburant,$Moteur,$couleurexterieur,$interieur,$portieres,$sieges,$price,$discussion,$statut,$Etat,$visite_technique,$Dernier_contr_technique,$assurance,$Expiration_assurance,$Demarrage,$Climatisation,$Camera_recul,$Toit_ouvrant,$Ordinateur_bord,$Gps,$controle,$wd,$regulateur,$station,$empreinte,$volant,$verrou,$Vitres,$Direction,$Siege_regl,$airbag,$remarques));
}
?>
Et voici ce qu'on me donne comme erreur :
kouamkoff Le 29 juin 2019 à 00:34 (Édité le 1 janvier 1970 à 01:00)
$update->execute(array(.....);
Merci de bien vouloir m'aider.
Je rappelle que j'ai aucun souci quand à l'insertion. C'est le UPDATE qui me pose un souci or celui marchait très bien au départ
Balatharas Le 29 juin 2019 à 15:02 (Édité le 29 juin 2019 à 15:04)
"UPDATE products SET category='$category'"
Pas juste "category" mais toute ta requête, elle est trop longue pour que je la copie.
Déjà pour faire la concaténation tu dois faire comme ça (il me semble?) category = '.$category.'
Ensuite, à ce que je vois en fait tu défini 2 fois tes données, une fois dans le
"UPDATE products SET category='$category'
Et une autre fois dans ton ->execute(array(...))
Or tu n'as besoin que d'une fois donc soit tu changes
$update->execute(array(.....);
pour$update->execute();
Soit tu changes ta requête pour"UPDATE products SET category=?, title=?, year=?" etc et sur toute la requête
Je suis pas sur a 100% je n'ai pas codé depuis un moment
Ah et ton topic aurait du etre placé dans la catégorie Programmation/PHP et pas boîte à idées
Je te renvoie aux règles du forum (officielles)