Bonjour

je crée un site WEB et j'utilise WAMP avec MySQL

Dans une de mes tables (bureau d'une association) j'ai crée un index sur 2 colonnes afin d'éviter que l'on ajoute par exemple 2 présidents.

Cela fonctionne mais de manière silencieuse. J'aimerais dans PHP faire une requête et un if en fonction du résultat pour transmettre un message d'erreur.

Je pensais peut-être en utilisant le nom de l'index, peut être une fausse route ou un SELECT (COUNT) mais ca ne marche pas.
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
//Verification doublons
$sql = "SELECT COUNT (Role_Assos) FROM t_bureau where t_bureau.Id_Assos= :Id_Assos";
$res = $db->query($sql);
$Nb = $res->fetchColumn();
$res->closeCursor();
if ($Nb > 0) {
    echo "Il existe déjà un rôle de ce type pour votre association";
    header("Location: index.php");
    exit();
}

Role_Assos
est mon index sur 2 colonnes
Id_Assos
est passé par la variable $_POST du formulaire
Code php : Sélectionner tout - Visualiser dans une fenêtre à part
$pdoStat->bindValue(':Id_Assos', $_POST['Id_Assos'], PDO::PARAM_INT);
ceci plus loin dans mon code.

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//Verification doublons
$sql = "SELECT COUNT (Role_Assos) FROM t_bureau where t_bureau.Id_Assos= :Id_Assos";
$res = $db->query($sql);
$Nb = $res->fetchColumn();
$res->closeCursor();
if ($Nb > 0) {
    echo "Il existe déjà un rôle de ce type pour votre association";
    header("Location: index.php");
    exit();
}
 
 
// On ajoute une entrée dans la table 
 
$pdoStat = $db->prepare('INSERT INTO t_bureau VALUES(NULL,:Id_Assos,:Id_Role,:Id_Droit,:Nom,:Prenom,:Email,:Telephone,:Adresse,:CodePostal,:Ville_Membre,:Identifiant,:Passwords,:Photo,:PhotoReduit)');
 
//on lie chaque marqueur à une valeur
 
$pdoStat->bindValue(':Id_Assos', $_POST['Id_Assos'], PDO::PARAM_INT);

Avez vous un idée?
Merci