Insertion des données dans la base des données par php
Fermé
jack444
Messages postés
86
Date d'inscription
samedi 9 octobre 2010
Statut
Membre
Dernière intervention
30 septembre 2021
-
3 oct. 2013 à 20:09
JooS Messages postés 2465 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 - 5 oct. 2013 à 14:30
JooS Messages postés 2465 Date d'inscription mardi 22 janvier 2008 Statut Membre Dernière intervention 8 juin 2016 - 5 oct. 2013 à 14:30
A voir également:
- Insertion des données dans la base des données par php
- Validation des données excel - Guide
- Supprimer une base de données phpmyadmin ✓ - Forum Logiciels
- Tnt base de données vide - Forum TNT / Satellite / Réception
- Les données fournies dans le fichier à télécharger peuvent être synthétisées par le tableau récapitulatif suivant. dans le fichier, générez ce tableau automatiquement (tableau croisé dynamique ou table de pilote) à partir des 4 premières colonnes. cinq valeurs manquent dans le tableau suivant. retrouvez-les dans votre tableau puis reportez-les, arrondies à l’entier le plus proche, dans la zone de réponse. ✓ - Forum Jeux vidéo
- Effacer les données de navigation - Guide
8 réponses
Utilisateur anonyme
3 oct. 2013 à 20:42
3 oct. 2013 à 20:42
Bonsoir
Je suppose qu'il te remplit tes login de 'login' et tes pass de 'pass' car c'est ce que tu lui demandes. Tu insères les textes login et pass, pas les variables.
Remplace
Je suppose qu'il te remplit tes login de 'login' et tes pass de 'pass' car c'est ce que tu lui demandes. Tu insères les textes login et pass, pas les variables.
Remplace
$sql="INSERT INTO 'users' ('id','login','pass') VALUES (NULL,'login','pass')";par
$sql="INSERT INTO 'users' ('id','login','pass') VALUES (NULL,'$login','$pass')";
Utilisateur anonyme
4 oct. 2013 à 08:49
4 oct. 2013 à 08:49
la requéte exacte qui marche sur phpmyadmin c 'est à cette formeNon, certainement pas. il y avait des accents graves ` (Alt Gr 7) autour des nopms de tables et de champs (users,login et pass) mais certainement pas des apostrophes ' . Tu ne l'as poas remarqué, mais qund tu recopie un accent grave sur CCM, il le transforme en apostrophe ! Dans ce cas, l'erreur que tu indiques à ton message #6 est parfaitement normale.
INSERT INTO 'users' ('login','pass') VALUES ('valeur','valeur');
Le plus simple est certainement de supprimer les apostrophes (attention ! pas autour des VALUES) :
$sql="INSERT INTO users (id,login,pass) VALUES (NULL,'$login','$pass')";
Qu'est-ce qui s'affiche quand tu envoies ton formulaire ? As-tu un message d'erreur ?
jack444
Messages postés
86
Date d'inscription
samedi 9 octobre 2010
Statut
Membre
Dernière intervention
30 septembre 2021
2
4 oct. 2013 à 10:02
4 oct. 2013 à 10:02
J'ai testé comme tu l'as dit mais il ne fonctionne pas et il n'affiche aucun message d'erreur
Utilisateur anonyme
4 oct. 2013 à 10:09
4 oct. 2013 à 10:09
Qu'affiche-t-il ? Rien du tout ? "L'insertion a été correctement effectuée" ? "L'insertion à échouée" ?
jack444
Messages postés
86
Date d'inscription
samedi 9 octobre 2010
Statut
Membre
Dernière intervention
30 septembre 2021
2
4 oct. 2013 à 10:33
4 oct. 2013 à 10:33
Il m'affiche rien dans la page insert.php rien de tout cette page est blanche
Utilisateur anonyme
4 oct. 2013 à 10:39
4 oct. 2013 à 10:39
Tel que ton code est écrit dans ton premier message, insert.php doit obligatoirement t'afficher quelque chose.
Est-ce le bon code ? TOUT le code ?
Peux-tu ajouter echou 'coucou1'; aussitôt après le <?php , et echo 'coucou2'; echo 'coucou3';... à plusieurs endroits de insert.php pour voir ce qui passe et ce qui ne passe pas ?
Est-ce le bon code ? TOUT le code ?
Peux-tu ajouter echou 'coucou1'; aussitôt après le <?php , et echo 'coucou2'; echo 'coucou3';... à plusieurs endroits de insert.php pour voir ce qui passe et ce qui ne passe pas ?
jack444
Messages postés
86
Date d'inscription
samedi 9 octobre 2010
Statut
Membre
Dernière intervention
30 septembre 2021
2
4 oct. 2013 à 11:01
4 oct. 2013 à 11:01
à l'exécution de la page insert.php il m'affiche ceci :
coucou
( ! ) Notice: Undefined index: login in C:\wamp\www\inscrit\insert.php on line 7
Call Stack
# Time Memory Function Location
1 0.0140 141440 {main}( ) ..\insert.php:0
( ! ) Notice: Undefined index: pass in C:\wamp\www\inscrit\insert.php on line 8
Call Stack
# Time Memory Function Location
1 0.0140 141440 {main}( ) ..\insert.php:0
Column count doesn't match value count at row 1
il m'affiche le message créer et les deux erreurs
mais quand j'exécute le fichier formulaire.html il m'affiche rien dans insert.php et dans la base de donnée il n'ajoute rien
coucou
( ! ) Notice: Undefined index: login in C:\wamp\www\inscrit\insert.php on line 7
Call Stack
# Time Memory Function Location
1 0.0140 141440 {main}( ) ..\insert.php:0
( ! ) Notice: Undefined index: pass in C:\wamp\www\inscrit\insert.php on line 8
Call Stack
# Time Memory Function Location
1 0.0140 141440 {main}( ) ..\insert.php:0
Column count doesn't match value count at row 1
il m'affiche le message créer et les deux erreurs
mais quand j'exécute le fichier formulaire.html il m'affiche rien dans insert.php et dans la base de donnée il n'ajoute rien
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
Modifié par le père. le 4/10/2013 à 11:23
Modifié par le père. le 4/10/2013 à 11:23
Je crois que je commence à comprendre.
Comment fais-tu pour lancer formulaire.html ? Tu double-cliques dessus depuis l'explorateur windows ? Ou tu tapes une url genre 127.0.0.1/formulaire.html dans la barre du navigateur ?
Comment fais-tu pour lancer formulaire.html ? Tu double-cliques dessus depuis l'explorateur windows ? Ou tu tapes une url genre 127.0.0.1/formulaire.html dans la barre du navigateur ?
jack444
Messages postés
86
Date d'inscription
samedi 9 octobre 2010
Statut
Membre
Dernière intervention
30 septembre 2021
2
4 oct. 2013 à 14:40
4 oct. 2013 à 14:40
Le fichier formulaire.html est dans le dossier C:\wamp\www\inscrit et je l'ouvre de cette emplacement là à l'exécution
Utilisateur anonyme
Modifié par le père. le 4/10/2013 à 15:09
Modifié par le père. le 4/10/2013 à 15:09
Alors c'est ça ton problème.
Comment as-tu fait pour ouvrir \insert.php et obtenir les messages d'erreur que tu as eus ? Procède de la même manière pour ouvrir formulaire.html
Comment as-tu fait pour ouvrir \insert.php et obtenir les messages d'erreur que tu as eus ? Procède de la même manière pour ouvrir formulaire.html
jack444
Messages postés
86
Date d'inscription
samedi 9 octobre 2010
Statut
Membre
Dernière intervention
30 septembre 2021
2
4 oct. 2013 à 23:14
4 oct. 2013 à 23:14
J'ai ouvert le fichier insert.php à travers l'adresse localhost de wamp server
Utilisateur anonyme
5 oct. 2013 à 00:17
5 oct. 2013 à 00:17
Fais la même chose pour formulaire.html, ça va beaucoup mieux marcher.
jack444
Messages postés
86
Date d'inscription
samedi 9 octobre 2010
Statut
Membre
Dernière intervention
30 septembre 2021
2
5 oct. 2013 à 01:47
5 oct. 2013 à 01:47
Ca fonctionne mais dans l'affichage en phpmyadmin il m'a affiché $login et $pass dans les colonnes de login et pass donc il n'a pas affiché les valeurs que je l'ai insérer à travers formulaire.html
et dans insert php il m'a affiché ceci:
coucouColumn count doesn't match value count at row 1
coucou c'est le message qui j'ai fait mais j'ai pas compris ce message d'erreur :
Column count doesn't match value count at row 1
et dans insert php il m'a affiché ceci:
coucouColumn count doesn't match value count at row 1
coucou c'est le message qui j'ai fait mais j'ai pas compris ce message d'erreur :
Column count doesn't match value count at row 1
Utilisateur anonyme
5 oct. 2013 à 09:43
5 oct. 2013 à 09:43
Dans ta requête INSERT, tu as mis les champs à insérer et ensuite tu as mis des VALUES pour ces champs.
Le message signifie que tu n'as pas le même nombre de champs (columns) que de values.
Peux-tu montrer ta requête ( la ligne complète $sql=... )
Si tu vois $login et $pass au lieu des textes que tu avais tappés, c'est que tu as bricolé les ' et les " sans savoir ce que tu faisais, car d'après le code que tu donnes au départ, ce sont bien les valeurs que tu devrais avoir.
Le message signifie que tu n'as pas le même nombre de champs (columns) que de values.
Peux-tu montrer ta requête ( la ligne complète $sql=... )
Si tu vois $login et $pass au lieu des textes que tu avais tappés, c'est que tu as bricolé les ' et les " sans savoir ce que tu faisais, car d'après le code que tu donnes au départ, ce sont bien les valeurs que tu devrais avoir.
jack444
Messages postés
86
Date d'inscription
samedi 9 octobre 2010
Statut
Membre
Dernière intervention
30 septembre 2021
2
5 oct. 2013 à 11:47
5 oct. 2013 à 11:47
Enfin ça fonctionne j'ai changé la requete sql :
$sql ="INSERT INTO users VALUES ('$login','$pass')";
par cette requete sql:
$sql ="INSERT INTO users VALUES (NULL,'$login','$pass')";
et elle a fonctionnée l'erreur c'est que j'ai pas mis la valeur NULL de l'id
Merci pour votre le pére et JooS .
$sql ="INSERT INTO users VALUES ('$login','$pass')";
par cette requete sql:
$sql ="INSERT INTO users VALUES (NULL,'$login','$pass')";
et elle a fonctionnée l'erreur c'est que j'ai pas mis la valeur NULL de l'id
Merci pour votre le pére et JooS .
JooS
Messages postés
2465
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
Modifié par JooS le 5/10/2013 à 14:31
Modifié par JooS le 5/10/2013 à 14:31
Le null n'est pas obligatoire (sauf si tu veux communiquer la valeur de chaque colonne).
Dans ton cas, id est un champs dont la valeur est automatique, donc pas la peine de l'ajouter a la requête.
Le message d'erreur voulait dire que le nombre de valeurs (communiquées entre les parenthèses) est différent de celui des colonnes de la table, et c'est normal, puisque tu possèdes trois champs, et tu n'a désigné des valeurs que pour 2 de ces champs.
Dans ton cas, id est un champs dont la valeur est automatique, donc pas la peine de l'ajouter a la requête.
$sql = "INSERT INTO users (login, pass) VALUES ('$login', '$pass')";
Le message d'erreur voulait dire que le nombre de valeurs (communiquées entre les parenthèses) est différent de celui des colonnes de la table, et c'est normal, puisque tu possèdes trois champs, et tu n'a désigné des valeurs que pour 2 de ces champs.
3 oct. 2013 à 22:18
Modifié par JooS le 3/10/2013 à 22:26
3 oct. 2013 à 23:31
4 oct. 2013 à 00:50
Exécute cette requête directement a travers phpMyAdmin.
4 oct. 2013 à 01:03
INSERT INTO 'users' ('login', 'pass') VALUES ('utilisateur', 'mot de passe');
et il m'a affiché ce message d'erreur :
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''users' ('login', 'pass') VALUES ('utilisateur', 'mot de passe')' at line 1