Problème pour faie un update sur une date MySQL
Résolu/Fermé
Astolpho
Messages postés
73
Date d'inscription
vendredi 8 avril 2022
Statut
Membre
Dernière intervention
12 juin 2024
-
2 janv. 2023 à 15:55
Astolpho Messages postés 73 Date d'inscription vendredi 8 avril 2022 Statut Membre Dernière intervention 12 juin 2024 - 3 janv. 2023 à 09:30
Astolpho Messages postés 73 Date d'inscription vendredi 8 avril 2022 Statut Membre Dernière intervention 12 juin 2024 - 3 janv. 2023 à 09:30
A voir également:
- Problème pour faie un update sur une date MySQL
- Windows update 0x80070643 - Accueil - Windows
- Windows update bloqué - Guide
- Asus live update - Télécharger - Utilitaires
- Mysql community server - Télécharger - Bases de données
- Comment ouvrir un fichier dat - Guide
2 réponses
jordane45
Messages postés
38346
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
16 décembre 2024
4 718
Modifié le 2 janv. 2023 à 21:09
Modifié le 2 janv. 2023 à 21:09
Bonjour,
Dans ton premier code, tu avais un point-virgule en trop dans ta requête
Dans ton second.. tu n'utilises pas correctement les variables nommées...
Modifie le comme ceci:
function updList($state, $id_todo_lists) { $db = getDB(); $sql = "UPDATE todo_lists SET state = :state ,closed_at = now() WHERE id_todo_lists =:id_todo_lists "; try { // Prepare statement $stmt = $db->prepare($sql); $stmt->bindParam(':state', $state); $stmt->bindParam(':id_todo_lists', $id_todo_lists); return $stmt->execute(); } catch (Exception $e) { echo "Erreur dans la requête " . $sql; echo $e->getMessage(); exit; } }
A noter que ta variable $id_todo_lists devient un paramètre de ta fonction et qu'il te faut donc la transmettre lors de l'appel de cette fonction.
et que ta variable $closed_at n'est plus en paramètre de la fonction puisque tu veux directement utiliser le now.
yg_be
Messages postés
23405
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
20 décembre 2024
Ambassadeur
1 557
2 janv. 2023 à 18:11
2 janv. 2023 à 18:11
bonjour,
as-tu testé la requête en direct dans la bdd?
Astolpho
Messages postés
73
Date d'inscription
vendredi 8 avril 2022
Statut
Membre
Dernière intervention
12 juin 2024
2 janv. 2023 à 19:17
2 janv. 2023 à 19:17
ça fonctionne sur la BDD en direct,
function updList($state, $closed_at) { $id_todo_lists = $_POST['id_todo_lists']; $db = getDB(); $sql = "UPDATE todo_lists SET state=$state ,closed_at=now() WHERE id_todo_lists ='$id_todo_lists' "; try { // Prepare statement $stmt = $db->prepare($sql); $stmt->bindParam(':state', $state); $stmt->bindParam(':closed_at', $closed_at); return $stmt->execute(); } catch (Exception $e) { echo "Erreur dans la requête " . $sql; echo $e->getMessage(); exit; } }
ça fonctionne aussi comme ça.
Merci
3 janv. 2023 à 09:30
Bonjour jordane45, j'ai fait la modif.
tout fonctionne correctement.
merci