Script d'enregistrement dans base de donnée ne marche pas
Fermé
ghisloy
Messages postés
89
Date d'inscription
mercredi 12 novembre 2014
Statut
Membre
Dernière intervention
1 août 2016
-
Modifié par baladur13 le 9/12/2015 à 23:43
Utilisateur anonyme - 3 déc. 2015 à 16:45
Utilisateur anonyme - 3 déc. 2015 à 16:45
A voir également:
- Script d'enregistrement dans base de donnée ne marche pas
- Script vidéo youtube - Guide
- Formules excel de base - 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
- Base de registre - Guide
- Tnt base de données vide - Forum TNT / Satellite / Réception
2 réponses
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
3 déc. 2015 à 12:59
3 déc. 2015 à 12:59
Bonjour,
Ne confond pas la requête UPDATE et la requête INSERT
De façon "propre" une requete INSERT s'écrit :
de plus, il est préférable de récupérer proprement les variables AVANT de les utiliser
et enfin, ajoutes du debug en cas d'erreur (avec un or die)
Bref, ça devrait donner un truc du genre :
NB: Attention toutefois.. tu utilises une vielles syntaxes (et extension..) de mysql.
Je t'invite à lire ceci :
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
$insertion = "INSERT INTO contacter SET nom='".$_POST['identite']."', mail='".$_POST['email']."', objet='".$_POST['objet']."', message='".$_POST['message']."' ";
Ne confond pas la requête UPDATE et la requête INSERT
De façon "propre" une requete INSERT s'écrit :
INSERT INTO matable (champ1,champx) VALUE('toto','titi')
de plus, il est préférable de récupérer proprement les variables AVANT de les utiliser
et enfin, ajoutes du debug en cas d'erreur (avec un or die)
Bref, ça devrait donner un truc du genre :
$identite = !empty($_POST['identite']) ? $_POST['identite']: ''; $email = !empty($_POST['email']) ? $_POST['email']: ''; $objet = !empty($_POST['objet']) ? $_POST['objet']: ''; $message = !empty($_POST['message']) ? $_POST['message']: ''; $sql = "INSERT INTO contacter (nom,mail,objet,message) VALUE('$identite','$email','$objet','$message')"; /exécution de la requête SQL: $resultat = mysql_query($sql) or die("<br><b>ERREUR !</b><br>".mysql_error(). "<br><b>Requete :</b><br>".$sql);
NB: Attention toutefois.. tu utilises une vielles syntaxes (et extension..) de mysql.
Je t'invite à lire ceci :
https://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top
Utilisateur anonyme
3 déc. 2015 à 14:09
3 déc. 2015 à 14:09
Bonjour
La syntaxe INSERT INTO table SET champ1=valeur1, champ2=valeur2 est parfaitement valide. Pas besoin de la changer.
Par contre, tu testes
La syntaxe INSERT INTO table SET champ1=valeur1, champ2=valeur2 est parfaitement valide. Pas besoin de la changer.
Par contre, tu testes
if(isset($_POST['button']))mais aucun champ ne s'appelle 'button'. Tu devrais tester un champ qui existe réellement dans ton formulaire.
jordane45
Messages postés
38314
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
24 novembre 2024
4 705
3 déc. 2015 à 15:36
3 déc. 2015 à 15:36
La syntaxe INSERT INTO table SET champ1=valeur1, champ2=valeur2 est parfaitement valide. Pas besoin de la changer.
Il n’empêche que cette syntaxe est "propre" à Mysql contrairement à celle que je donne qui est "standard" à SQL.
Autant prendre les bonnes habitudes.
Pour le reste, au niveau perf elles sont identiques.