Ligne vide générée de manière aléatoire dans une table MysQl [Résolu/Fermé]

Signaler
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
-
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
-
Bonjour,

Une de mes tables Mysql génère un ligne supplémentaire vide de manière aléatoire pour certains enregistrement.

D'après vous d'où cela peut-il venir ?

Merci.

5 réponses

Messages postés
29219
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 août 2020
2 693
Bonjour
Ne serait-ce pas plutôt le code d'insertion qui génère ce comportement ?
Comment (avec quel code) remplis tu cette table ?
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
3
Bjr,
Voici le code d'insertion :

				                    				
				                    				
$sql1 = "INSERT INTO mr_intervenants(type, titre_int, nom_int, prenom_int, email_int, adresse1_int, adresse2_int, ville_id_int, mobile_int) VALUES('type','$titre_int','$nom_int','$prenom_int','$email_int', '$adresse1_int','$adresse2_int','$ville_id_int','$mobile_int')";
		
$res1 = $conn->query($sql1);

Messages postés
29219
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 août 2020
2 693
Oui ok ça c'est la requête. ..
Mais comment l'appelles tu ?...
Et comment récupères tu les différentes variables ?


Ps: au fait... tu fais quoi de tes deux autres discussions ?
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
3
Je récupere avec ceci :

		
	$type=$_GET['Type'];
	$titre_int=$_GET['Titre_int'];
	$prenom_int=$_GET['Prenom_int'];
        $nom_int=$_GET['Nom_int'];
	$email_int=$_GET['Email_int']; 
	$adresse1_int=$_GET['Adresse1_int'];
	$adresse2_int=$_GET['Adresse2_int'];
	$ville_id_int=$_GET['Ville_id_int'];
        $mobile_int=$_GET['Mobile_int'];

La dernière discussion je suis obligé de finir d'autres scripts avant de pouvoir vérifier. Si ça fonctionne correctement.
Messages postés
29219
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 août 2020
2 693
Arrête de me coller que des petits bouts de code .... comment espères-tu que nous puissions comprendre le fonctionnement de ton script si tu ne nous mets pas tout ??

Donc ...
Je vais essayer de reformuler pour que tu comprennes ....
Quel est le code COMPLET et EXACT utilisé pour faire les INSERTIONS dans ta BDD ? ( je parles bien entendu.. de l'éventuel formulaire html ET de la TOTALITE du code PHP utilisé).

Enfin bon... je pense, même sans tout avoir, que ton souci c'est que tu as "oublié" de faire un IF avant l'insertion (histoire de t'assurer que tous les champs sont bien remplis..."...

Et encore une fois ... il faut :

Recuperer PROPREMENT les variables AVANT de les utiliser

Par exemple :
$type = !empty($_GET['Type']) ? $_GET['Type'] : NULL;
$Titre_int= !empty($_GET['Titre_int']) ? $_GET['Titre_int'] : NULL;
// etc...


Et AVANT de faire l'insertion en bdd :
 if($type && $Titre_int   etc.... ){
   // là le code pour insérer

 }

Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
3
Jordane45, je te remercie. Je vais tester le 1er encadré pour voir.

Concernant le "if", la vérification des champs ne s'imposent pas car j'ai mis la fonction "required" en html sur les champs qui doivent être obligatoirement remplis avant de faire "envoi".
Messages postés
29219
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 août 2020
2 693
Ne te limite pas qu'à ça ...
Si des lignes vides s'insèrent dans ta table c'est sûrement que le scripte est appelé avec des variables vides ...
Donc le fait de faire un require sur le formulaire (modifiable par l'utilisateur si il le souhaites.....) ne dois pas t’empêcher de le contrôler aussi côté serveur (à savoir sur ton code php).
Messages postés
372
Date d'inscription
jeudi 10 mai 2007
Statut
Membre
Dernière intervention
11 mars 2020
3
Il peut effectivement y avoir des variables vides. Dois-je le bannir ?

En tout cas, j'ai testé avec
$type = !empty($_GET['Type']) ? $_GET['Type'] : NULL;


Et pour l'heure cela semble fonctionner sans ligne vide.

Merci pour tes lumières.