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

maxireussite 352 Messages postés jeudi 10 mai 2007Date d'inscription 18 novembre 2017 Dernière intervention - 15 févr. 2017 à 18:19 - Dernière réponse : maxireussite 352 Messages postés jeudi 10 mai 2007Date d'inscription 18 novembre 2017 Dernière intervention
- 16 févr. 2017 à 02:10
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.

Afficher la suite 

8 réponses

Répondre au sujet
jordane45 19223 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 13 décembre 2017 Dernière intervention - 15 févr. 2017 à 21:38
0
Utile
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 ?
Commenter la réponse de jordane45
maxireussite 352 Messages postés jeudi 10 mai 2007Date d'inscription 18 novembre 2017 Dernière intervention - 15 févr. 2017 à 21:46
0
Utile
1
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);

jordane45 19223 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 13 décembre 2017 Dernière intervention - 15 févr. 2017 à 22:00
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 ?
Commenter la réponse de maxireussite
maxireussite 352 Messages postés jeudi 10 mai 2007Date d'inscription 18 novembre 2017 Dernière intervention - 15 févr. 2017 à 22:10
0
Utile
1
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.
jordane45 19223 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 13 décembre 2017 Dernière intervention - 15 févr. 2017 à 23:48
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

 }

Commenter la réponse de maxireussite
maxireussite 352 Messages postés jeudi 10 mai 2007Date d'inscription 18 novembre 2017 Dernière intervention - 16 févr. 2017 à 01:10
0
Utile
1
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".
jordane45 19223 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 13 décembre 2017 Dernière intervention - 16 févr. 2017 à 02:01
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).
Commenter la réponse de maxireussite
maxireussite 352 Messages postés jeudi 10 mai 2007Date d'inscription 18 novembre 2017 Dernière intervention - Modifié par maxireussite le 16/02/2017 à 02:21
0
Utile
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.
Commenter la réponse de maxireussite