Insertion dans une base de données mysql
Résolu/Fermé
aldofkr
Messages postés
35
Date d'inscription
mardi 25 février 2014
Statut
Membre
Dernière intervention
30 juillet 2019
-
Modifié le 16 sept. 2017 à 18:18
aldofkr Messages postés 35 Date d'inscription mardi 25 février 2014 Statut Membre Dernière intervention 30 juillet 2019 - 17 sept. 2017 à 00:36
aldofkr Messages postés 35 Date d'inscription mardi 25 février 2014 Statut Membre Dernière intervention 30 juillet 2019 - 17 sept. 2017 à 00:36
A voir également:
- Insertion dans une base de données mysql
- Formules excel de base - Guide
- Tnt base de données vide - Forum TNT / Satellite / Réception
- Insertion signature word - Guide
- Insertion liste déroulante excel - Guide
- Célia doit nettoyer le tableau ci-dessous pour l’ajouter à la base de données de son entreprise. les données sont ensuite traitées automatiquement. quelles sont les 4 cellules qui risquent de poser problème ? ✓ - Forum Excel
4 réponses
yg_be
Messages postés
22724
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
25 avril 2024
1 476
16 sept. 2017 à 14:26
16 sept. 2017 à 14:26
bonjour,
pour commencer, je te suggère d'appliquer ces conseils:
PDO - Gérer les erreurs
pour commencer, je te suggère d'appliquer ces conseils:
PDO - Gérer les erreurs
aldofkr
Messages postés
35
Date d'inscription
mardi 25 février 2014
Statut
Membre
Dernière intervention
30 juillet 2019
16 sept. 2017 à 15:23
16 sept. 2017 à 15:23
ok je le fais et je reviens
jordane45
Messages postés
38145
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
25 avril 2024
4 650
16 sept. 2017 à 18:25
16 sept. 2017 à 18:25
Bonjour,
En complément du conseil de Yg concernant la gestion des erreurs PDO...
1- Evite d'utiliser des caractères accentués dans le nom de tes champs ( c'est valable pour toutes les variables en fait : nom de la bdd, nom d'une table, variable php, variable javascript... bref.. partout ^^ )
2 - Tu mélanges des instruction mysql avec des instructions pdo.... erreur !
est à remplacer par :
3 - Ta syntaxe d'insert (bien que pas vraiment fausse...) est à éviter.
un INSERT s'écrit proprement ainsi :
4 - Il faut récupérer PROPREMENT les variables AVANT de les utiliser. Surtout lorsqu'il s'agit de variables tableau telles que POST ou GET ( ou SESSION, COOKIE.... )
Pour se faire, tu peux utiliser l'écriture ternaire (sorte de IF/ELSE) de la façon suivante :
tu pourras ensuite utiliser ta variable
Reviens nous voir une fois TOUTES ces corrections effectuées si ton souci persiste.
En complément du conseil de Yg concernant la gestion des erreurs PDO...
1- Evite d'utiliser des caractères accentués dans le nom de tes champs ( c'est valable pour toutes les variables en fait : nom de la bdd, nom d'une table, variable php, variable javascript... bref.. partout ^^ )
2 - Tu mélanges des instruction mysql avec des instructions pdo.... erreur !
$idcompte= mysql_insert_id();
est à remplacer par :
$idcompte= $pdo->lastInsertId();
3 - Ta syntaxe d'insert (bien que pas vraiment fausse...) est à éviter.
un INSERT s'écrit proprement ainsi :
INSERT INTO matable (champ1,champ2,...) VALUES ('valeur1','valeur2','etc..')
4 - Il faut récupérer PROPREMENT les variables AVANT de les utiliser. Surtout lorsqu'il s'agit de variables tableau telles que POST ou GET ( ou SESSION, COOKIE.... )
Pour se faire, tu peux utiliser l'écriture ternaire (sorte de IF/ELSE) de la façon suivante :
$mail = !empty($_POST['mail']) ? $_POST['mail'] : NULL;
tu pourras ensuite utiliser ta variable
Reviens nous voir une fois TOUTES ces corrections effectuées si ton souci persiste.
aldofkr
Messages postés
35
Date d'inscription
mardi 25 février 2014
Statut
Membre
Dernière intervention
30 juillet 2019
17 sept. 2017 à 00:36
17 sept. 2017 à 00:36
merci beaucoup. j'ai pu resoudre le problème grâce à vous
<?php
$req=$pdo->prepare("INSERT INTO compte (email, passe) VALUES (:mail, :pwd)");
$reqi=$pdo->prepare("INSERT INTO client (civilite, nom, prenoms, naissance, profession, piece, numeropiece, statut, pays, ville, localite, contact, idcompte) VALUES(:civil, :nom, :prenoms, :date, :profession, :piece, :numero, :statut, :pays, :ville, :local, :contact, :idcompte)");
$pwd= password_hash($pwd, PASSWORD_BCRYPT);
$req->execute(array(':mail'=>$mail, ':pwd'=>$pwd));
$idcompte= $pdo->lastInsertId();
$reqi->execute(array(':civil'=>$civil, ':nom'=>$nom, ':prenoms'=>$pren, ':date'=>$date, ':profession'=>$prof, ':piece'=>$piece, ':numero'=>$num, ':statut'=>$stat, ':pays'=>$pays, ':ville'=>$ville, ':local'=>$local, ':contact'=>$contact, ':idcompte'=>$idcompte));
?>
<?php
$req=$pdo->prepare("INSERT INTO compte (email, passe) VALUES (:mail, :pwd)");
$reqi=$pdo->prepare("INSERT INTO client (civilite, nom, prenoms, naissance, profession, piece, numeropiece, statut, pays, ville, localite, contact, idcompte) VALUES(:civil, :nom, :prenoms, :date, :profession, :piece, :numero, :statut, :pays, :ville, :local, :contact, :idcompte)");
$pwd= password_hash($pwd, PASSWORD_BCRYPT);
$req->execute(array(':mail'=>$mail, ':pwd'=>$pwd));
$idcompte= $pdo->lastInsertId();
$reqi->execute(array(':civil'=>$civil, ':nom'=>$nom, ':prenoms'=>$pren, ':date'=>$date, ':profession'=>$prof, ':piece'=>$piece, ':numero'=>$num, ':statut'=>$stat, ':pays'=>$pays, ':ville'=>$ville, ':local'=>$local, ':contact'=>$contact, ':idcompte'=>$idcompte));
?>