Signaler

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

Posez votre question maxireussite 350Messages postés jeudi 10 mai 2007Date d'inscription 16 février 2017 Dernière intervention - Dernière réponse le 16 févr. 2017 à 02:10 par maxireussite
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 
Utile
+0
plus moins
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 ?
Donnez votre avis
Utile
+0
plus moins
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 16466Messages postés mercredi 22 octobre 2003Date d'inscription ModérateurStatut 22 mars 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 ?
Répondre
Donnez votre avis
Utile
+0
plus moins
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 16466Messages postés mercredi 22 octobre 2003Date d'inscription ModérateurStatut 22 mars 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

 }

Répondre
Donnez votre avis
Utile
+0
plus moins
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 16466Messages postés mercredi 22 octobre 2003Date d'inscription ModérateurStatut 22 mars 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).
Répondre
Donnez votre avis
Utile
+0
plus moins
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.
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !