Menu

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

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

jordane45 21060 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 21 mai 2018 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 ?
maxireussite 367 Messages postés jeudi 10 mai 2007Date d'inscription 28 mars 2018 Dernière intervention - 15 févr. 2017 à 21:46
0
Utile
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 21060 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 21 mai 2018 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 ?
maxireussite 367 Messages postés jeudi 10 mai 2007Date d'inscription 28 mars 2018 Dernière intervention - 15 févr. 2017 à 22:10
0
Utile
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 21060 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 21 mai 2018 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

 }

maxireussite 367 Messages postés jeudi 10 mai 2007Date d'inscription 28 mars 2018 Dernière intervention - 16 févr. 2017 à 01:10
0
Utile
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 21060 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 21 mai 2018 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).
maxireussite 367 Messages postés jeudi 10 mai 2007Date d'inscription 28 mars 2018 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.