Insertion dans une base de donnée en php
Résolu/Fermé
aure2015
Messages postés
93
Date d'inscription
dimanche 11 janvier 2009
Statut
Membre
Dernière intervention
30 mai 2020
-
8 mai 2018 à 15:14
jordane45 Messages postés 38469 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 22 avril 2025 - 8 mai 2018 à 17:25
jordane45 Messages postés 38469 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 22 avril 2025 - 8 mai 2018 à 17:25
A voir également:
- Insertion dans une base de donnée en php
- Base de registre - Guide
- Insertion sommaire word - Guide
- Insertion liste déroulante excel - Guide
- Touche insertion clavier - Guide
- Formules excel de base - Guide
1 réponse
jordane45
Messages postés
38469
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
22 avril 2025
4 741
8 mai 2018 à 17:06
8 mai 2018 à 17:06
Bonjour,
Déjà.... tu mélanges du mysqli style procédurale.. et du style objet.
Il faut l'un ou l'autre.
Voici ton code un peu amélioré... et corrigé
Je t'invite fortement à lire ceci avant de poursuivre dans ton développement....
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
.
Déjà.... tu mélanges du mysqli style procédurale.. et du style objet.
Il faut l'un ou l'autre.
Voici ton code un peu amélioré... et corrigé
<?php //Affichage des erreurs php error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); //connexion à la bdd $con = mysqli_connect('localhost','root','','test'); if (!$con) die('Erreur de connection:' . mysqli_error($con)); } //mysqli_select_db($con,"test"); // pas utile vu que tu la selectionne déjà dans la connexion //récupération PROPRE des variables AVANT de les utiliser $Nom = !empty($_GET['Nom']) ? $_GET['Nom']: NULL; $Prenom = !empty($_GET['Prenom']) ? $_GET['Prenom']: NULL; $Email = !empty($_GET['Email']) ? $_GET['Email']: NULL; $Telephonne = !empty($_GET['Telephonne']) ? $_GET['Telephonne']: NULL; $HashPass = !empty($_GET['HashPass']) ? $_GET['HashPass']: NULL; $DateNaissance = !empty($_GET['DateNaissance']) ? $_GET['DateNaissance']: NULL; $time = strtotime($DateNaissance); $DateNaissance = date('d/m/Y',$time); if($Nom && $Prenom){ $sql="INSERT INTO users (Nom, Prenom, DateNaissance, Email, Telephonne, HashPass) VALUES ('".$Nom."','".$Prenom."','".$DateNaissance."','".$Email."','".$Telephonne."','".$HashPass."')"; if (!mysqli_query($con,$sql)){ echo("Error description: " . mysqli_error($con)); } } mysqli_close($con);
Je t'invite fortement à lire ceci avant de poursuivre dans ton développement....
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
.
Modifié le 8 mai 2018 à 17:20
J'ai posé ma question trop vite!
Si non, je récupère des données d'un xmlhttp.open , du coup pas besoin! de vérifier si les données sont vides!
Mais merci quand même pour ton aide!
Je poste quand même ma solution:
8 mai 2018 à 17:25
Récupérer "proprement" les variables AVANT de les utiliser en est une..... peu importe la source des données.
Cela évite de nombreux souci.
Sans compter que tu n'as pas lu le code que je t'ai donné.... pour preuve..; ta ligne
qui ne sert strictement à rien..... vu qu'avec mysqli tu selectionne déjà la bdd lors de la connexion.
Idem sur le fait de mélanger du procédural et de l'objet mysqli ...
... copier du code c'est un début. La suite c'est de chercher à le comprendre et à l'améliorer lorsque c'est possible.....
Bonne continuation.