Requête Update et Delete en PDO
Résolu/Fermé
modemo2018
Messages postés
226
Date d'inscription
vendredi 15 novembre 2019
Statut
Membre
Dernière intervention
13 octobre 2022
-
Modifié le 20 janv. 2020 à 16:57
jordane45 Messages postés 38296 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 19 novembre 2024 - 21 janv. 2020 à 21:11
jordane45 Messages postés 38296 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 19 novembre 2024 - 21 janv. 2020 à 21:11
4 réponses
jordane45
Messages postés
38296
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
19 novembre 2024
4 704
21 janv. 2020 à 21:11
21 janv. 2020 à 21:11
En complément :
Comme tu peux le voir, le bloc
reste toujours le même...
La seule chose qui chose se sont les variables $sql et $datas
Pas besoin non plus de mettre des noms de variables différents à chaque requête ... $req ça suffit !
//Mise à jour : $sql = 'UPDATE note SET notemat = ? WHERE idmat = ? AND ideleve = ?'; $datas = array($notemat, $idmat, $ideleve); try{ $req = $bdd->prepare($sql); $req->execute($datas); } catch ( Exception $e ) { // en cas d'erreur : echo " Erreur ! " . $e->getMessage (); print_r ( $datas ); exit; } }
//Suppression $sql = 'DELETE FROM note WHERE idmat = ? AND ideleve = ?'; $datas = array($idmat, $ideleve); try{ $req = $bdd->prepare($sql); $req->execute($datas); } catch ( Exception $e ) { // en cas d'erreur : echo " Erreur ! " . $e->getMessage (); print_r ( $datas ); exit; } }
Comme tu peux le voir, le bloc
try{ $req = $bdd->prepare($sql); $req->execute($datas); } catch ( Exception $e ) { // en cas d'erreur : echo " Erreur ! " . $e->getMessage (); print_r ( $datas ); exit; } }
reste toujours le même...
La seule chose qui chose se sont les variables $sql et $datas
Pas besoin non plus de mettre des noms de variables différents à chaque requête ... $req ça suffit !
jee pee
Messages postés
40461
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
19 novembre 2024
9 420
Modifié le 20 janv. 2020 à 17:31
Modifié le 20 janv. 2020 à 17:31
Bonjour,
Je n'utilise toujours pas mysql et php, mais je suis toujours disponible pour te donner mes observations ;-)
1/ sans insert impossible de rajouter des lignes. Donc ce qui s'exécute n'est pas le code que tu penses, et donc pas tes extraits update, delete
2/ sur ces 2 ordres sql tu n'utilises même pas le même type de formulation, c'est n'importe quoi, il faut être cohérent
3/ il te faut reprendre tes questions précédentes sur le forum, jordane45 notamment t'a donné des exemples de syntaxes des ordres sql à suivre. Si tu ne tiens pas compte des remarques et ne capitalise avec les expériences passées, tu ne peux pas progresser.
4/ dans la syntaxe de base d'un update, on ne sépare pas les conditions du WHERE par une virgule, mais par un opérateur AND/OR/...
Je n'utilise toujours pas mysql et php, mais je suis toujours disponible pour te donner mes observations ;-)
1/ sans insert impossible de rajouter des lignes. Donc ce qui s'exécute n'est pas le code que tu penses, et donc pas tes extraits update, delete
2/ sur ces 2 ordres sql tu n'utilises même pas le même type de formulation, c'est n'importe quoi, il faut être cohérent
3/ il te faut reprendre tes questions précédentes sur le forum, jordane45 notamment t'a donné des exemples de syntaxes des ordres sql à suivre. Si tu ne tiens pas compte des remarques et ne capitalise avec les expériences passées, tu ne peux pas progresser.
4/ dans la syntaxe de base d'un update, on ne sépare pas les conditions du WHERE par une virgule, mais par un opérateur AND/OR/...
modemo2018
Messages postés
226
Date d'inscription
vendredi 15 novembre 2019
Statut
Membre
Dernière intervention
13 octobre 2022
21 janv. 2020 à 12:11
21 janv. 2020 à 12:11
Après quelques recherches, j'ai fait des modifications mais les deux requête ne s'execute pas, il ya pas modification dans la base de donnée, et je n'ai pas un message d'erreur
try { $req5 = $bdd->prepare('UPDATE note SET notemat = ? WHERE idmat = ? AND ideleve = ?'); $req5->execute(array($notemat, $idmat, $ideleve)); } catch ( Exception $e ) { // en cas d'erreur : echo " Erreur ! " . $e->getMessage (); print_r ( $datas ); exit; } } try { $req2 = $bdd->prepare('DELETE FROM note WHERE idmat = ? AND ideleve = ?'); $req2->execute(array($idmat, $ideleve)); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); }
jee pee
Messages postés
40461
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
19 novembre 2024
9 420
Modifié le 21 janv. 2020 à 12:32
Modifié le 21 janv. 2020 à 12:32
Ma remarque précédente N°1 reste valable. Si pas d'action dans la bdd et pas de message d'erreur, c'est que ton code n'est pas exécuté. Tu ne passes pas par où tu crois dans ton application.
Ou idmat et/ou ideleve pas/mal renseignés. Là pas d'action et pas de message d'erreur.
Ou idmat et/ou ideleve pas/mal renseignés. Là pas d'action et pas de message d'erreur.
yg_be
Messages postés
23338
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 novembre 2024
1 551
21 janv. 2020 à 14:48
21 janv. 2020 à 14:48
bonjour, si je comprends ce que tu essaies de faire, tu supprimes immédiatement les enregistrements que tu viens de modifier? est-ce bien cela que tu veux?
pour comprendre ce que fait ton code, je suggère que tu fasses d'abord une requête pour visualiser les enregistrements.
je vois que tu imprimes $datas. pourquoi?
pour comprendre ce que fait ton code, je suggère que tu fasses d'abord une requête pour visualiser les enregistrements.
je vois que tu imprimes $datas. pourquoi?
modemo2018
Messages postés
226
Date d'inscription
vendredi 15 novembre 2019
Statut
Membre
Dernière intervention
13 octobre 2022
>
yg_be
Messages postés
23338
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 novembre 2024
21 janv. 2020 à 15:02
21 janv. 2020 à 15:02
$datas est imprimé pour m'avertir au cas où il ya erreur lors de l'execution
Oui je veux donner la possibilité de supprimer ou de modifier une donnée dans la BDD
Les enregistrements ont été déjà fait dans une autre page, et ça se passe bien, mais c'est juste la suppression et la modification que je n'arrive pas à faire
Oui je veux donner la possibilité de supprimer ou de modifier une donnée dans la BDD
Les enregistrements ont été déjà fait dans une autre page, et ça se passe bien, mais c'est juste la suppression et la modification que je n'arrive pas à faire
yg_be
Messages postés
23338
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 novembre 2024
1 551
>
modemo2018
Messages postés
226
Date d'inscription
vendredi 15 novembre 2019
Statut
Membre
Dernière intervention
13 octobre 2022
21 janv. 2020 à 15:06
21 janv. 2020 à 15:06
que contient $datas?
pour comprendre ce que fait ton code, je suggère que tu fasses d'abord une requête pour visualiser les enregistrements, juste avant de les mettre à jour ou de les supprimer.
si je comprends bien, tu ne nous montres qu'une partie de ton code, nous avons donc du mal à comprendre.
imprimes-tu un message quand la mise à jour ou la suppression se passe sans erreur?
imprimes-tu les valeurs utilisées dans la clause where?
pour comprendre ce que fait ton code, je suggère que tu fasses d'abord une requête pour visualiser les enregistrements, juste avant de les mettre à jour ou de les supprimer.
si je comprends bien, tu ne nous montres qu'une partie de ton code, nous avons donc du mal à comprendre.
imprimes-tu un message quand la mise à jour ou la suppression se passe sans erreur?
imprimes-tu les valeurs utilisées dans la clause where?
modemo2018
Messages postés
226
Date d'inscription
vendredi 15 novembre 2019
Statut
Membre
Dernière intervention
13 octobre 2022
>
yg_be
Messages postés
23338
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 novembre 2024
21 janv. 2020 à 16:36
21 janv. 2020 à 16:36
Oui j'ai pas mis tout le code, mais ma préocupation est de s'avoir si sintaxiquement la manière que j'ai ecris ma requête en PDO est la bonne, car c'est je suis pas encore trop bon en PDO, j'ai plus passé du temps avec Mysqli ou mysql
modemo2018
Messages postés
226
Date d'inscription
vendredi 15 novembre 2019
Statut
Membre
Dernière intervention
13 octobre 2022
Modifié le 21 janv. 2020 à 14:37
Modifié le 21 janv. 2020 à 14:37
Excuse moi, mais ta reponse m'aide pas à resoudre mon problème, j'ai du mal à bien te comprendre