[RESOLU] Modification BDD sur un champ

Eléphant du PHP | 194 Messages

05 mars 2023, 08:54

Bonjour à tous,

Je rencontre un problème pour la modification d'un champ dans ma table.

Voici ma méthode :
public function desactiver($id)
{
$sql = 'UPDATE utilisateurs SET `status` = :status WHERE `ID` = :id;';
$pdo = Database::getInstance();
$req = $pdo->prepare($sql);
$req->bindValue(':id', $this->id, PDO::PARAM_INT);
$req->bindValue(':status', $this->status, PDO::PARAM_INT);
try {
$req->execute();
if($req->rowCount() != 0) {
return 26; //Profil desactiver
}
} catch (PDOException $ex) {
return 27; //Profil pas desactiver
}
}
et voici mon controler :
} elseif (isset($_POST['desactiver'])) {
$id = $_POST['id'];
$status = '1';
$role = $_POST['role'];

//On recupere les valeurs hydrate
$desactiver = new Utilisateurs($id, $status);
//On actualise le message
$exception = $desactiver->desactiver($id, $status);
if ($exception == 26){
$code = 26; //le profil à été desactiver
header("Location: /controllers/ficheInscrit-ctrl.php?id=".$id."&code=".$code."&status=".$status."&role=".$role);
exit;
} elseif ($exception == 27) {
$code = 27; //le profil n'a pas été desactiver
header("Location: /controllers/ficheInscrit-ctrl.php?id=".$id."&code=".$code."&status=".$status."&role=".$role);
exit;
}
header("Location: /controllers/ficheInscrit-ctrl.php?id=".$id."&code=".$code."&status=".$status."&role=".$role);
// Code pour traiter l'action "Désactiver"
j'ai toujours le retour comme quoi mon utilisateur n'est pas désactiver, il passe dans le catch de ma méthode
Dans mon contrôler j'ai essayer de modifier les paramètres passés mais en vain.

Si quelqu'un passe sur le forum est peut m'aider sa serait cool.
Merci par avance
@+ Filou

Eléphant du PHP | 194 Messages

05 mars 2023, 12:55

J'ai trouver mon erreur
$exception = $desactiver->desactiver($id, '', '', ......$status);