Problème pour faie un update sur une date MySQL
RésoluAstolpho Messages postés 74 Statut Membre -
Bonjour,
je n'arrive pas à mettre un champs "closed_at" avec la fonction NOW() DANS MySQL
ça fonctionne bien avec l'insert.
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;
}
}
Je sais pas si c'est une erreur de syntaxe.
Windows / Chrome 108.0.0.0
- Problème pour faie un update sur une date MySQL
- Windows update bloqué - Guide
- Winget update - Guide
- Asus live update - Télécharger - Utilitaires
- Comment ouvrir un fichier dat - Guide
- Whatsapp date incorrecte ✓ - Forum Mobile
2 réponses
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.
bonjour,
as-tu testé la requête en direct dans la bdd?
ç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
Bonjour jordane45, j'ai fait la modif.
tout fonctionne correctement.
merci