Un soucis avec Insertion Mysql en PDO
max-jacob
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
Bonsoir les génies,
Je suis coincé dans mon code lors d'une insertion mysql en BD que j'aimerais faire en PDO.
L'objectif c'est de vérifier d'abord si l'email et l'identifiant de cet utilisateur n'est pas déjà utiliser, si tel n'est pas le cas, c'est ainsi que je procèderai à l'insertion en bd.
Ma BD est composé d'une table "Personne" avec comme attribut:
- id
- username
- nom,
- age
- dateEnregistrement
Mon problème se trouve d'abord au niveau de la vérification de l'existence de l'username et de l'email dans la BD et ensuite l'insertion.
Ci-dessous mon code et merci d'avance de votre aide.
Je suis coincé dans mon code lors d'une insertion mysql en BD que j'aimerais faire en PDO.
L'objectif c'est de vérifier d'abord si l'email et l'identifiant de cet utilisateur n'est pas déjà utiliser, si tel n'est pas le cas, c'est ainsi que je procèderai à l'insertion en bd.
Ma BD est composé d'une table "Personne" avec comme attribut:
- id
- username
- nom,
- age
- dateEnregistrement
Mon problème se trouve d'abord au niveau de la vérification de l'existence de l'username et de l'email dans la BD et ensuite l'insertion.
Ci-dessous mon code et merci d'avance de votre aide.
<?php
//Les données sont soumis par POST a partir d'un formulaire se trouvant a la page precedent
$email=$_POST['email'];
$username=$_POST['username'];
$RecordDuplicationVerification = $pdo->prepare("SELECT * FROM Personne WHERE username =? AND email = ?");
$RecordDuplicationVerification->execute([$username]);
$EtatDuplication = $RecordDuplicationVerification->fetch();
if($EtatDuplication){
//Si le meme username et email figure deja dans la base de donnes
die( "<center><p class='NumeroIndispo'><img src='../img/Warning.png' width='150' height='150'><br>Désolé, ce nom d'utilisateur et/ou cet adresse email est déjà utilisé par un autre utilisateur</a></p></center>");
}else{
//Same username && email are not found, execute the INSERT
$Insertion = $pdo->prepare('INSERT INTO Personne VALUES
(NULL,
:username,
:nom,
:age,
:email,
CURRENT_TIMESTAMP)');
//On lie chaque marqueur a une valeur
$Insertion->bindValue(':username', $_POST['username'], PDO::PARAM_STR);
$Insertion->bindValue(':nom', $_POST['nom'], PDO::PARAM_STR);
$Insertion->bindValue(':age', $_POST['age'], PDO::PARAM_STR);
$Insertion->bindValue(':email', $_POST['email'], PDO::PARAM_STR);
//Exécution de la requête préparé
$insertIsOk = $Insertion->execute();
if($insertIsOk){
$message = "Félicitation! L'enregistrement s'est deroule avec successs";
}else{
$message = "Un probleme est survenu durant l'enregistrement";
}
?>
<html>
<head></head>
<body>
<?php echo $message; ?>
</body>
</html>
A voir également:
- Un soucis avec Insertion Mysql en PDO
- Touche insertion clavier - Guide
- Insertion sommaire word - Guide
- Insertion filigrane word - Guide
- Insertion liste déroulante excel - Guide
- Insertion signature word - Guide
1 réponse
Bonjour
Commence par appliquer ça :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Et ceci:. https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Puis reviens nous voir avec ton code modifié si ton souci persiste.
Nb: pense a indiquer dans les balises de code, le langage php afin d'avoir la coloration syntaxique.
Explications à lire entièrement disponibles ici: https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Commence par appliquer ça :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Et ceci:. https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Puis reviens nous voir avec ton code modifié si ton souci persiste.
Nb: pense a indiquer dans les balises de code, le langage php afin d'avoir la coloration syntaxique.
Explications à lire entièrement disponibles ici: https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code