IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Problème INSERT INTO [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Homme Profil pro
    BTS SIO SISR
    Inscrit en
    Mars 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : BTS SIO SISR

    Informations forums :
    Inscription : Mars 2017
    Messages : 13
    Par défaut Problème INSERT INTO
    Bonjour, voilà pour mes études j'ai besoin de réaliser un forum et j'ai un problème avec ma requête Insert Into qui permet de s'inscrire, cela viens surement de ma requête.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <!-- debut du div ou sont poster les champs pour l'inscription / page d'acceul etc-->
    		<div id="corps_du_forum">
    					<?php
    								//lors de l'insciption
    								if(isset($_POST["inscription"]))
     
    								{	echo"<p>????</p>";
    									//création requete
    									$insert= 'INSERT INTO `user`(`identifiant`, `mdp`, `pseudo`, `age`, `mail`) 
    									VALUES ("'.$_POST["Ins_identifiant"].",".$_POST["Ins_mdp"].",".$_POST["Ins_pseudo"].",".$_POST["Ins_mail"].",".$_POST["Ins_age"].')';
    									echo"".$insert."";
    									//exécution de la requete
    									$Exe_Ins=mysqli_query($connect,$insert);
     
    									//une fois inscrit
    									if($Exe_Ins)
    									{
    										echo "<p>Bravo on peux vous compter parmis nous désormais</p>";
    									}
    									else
    									{echo"<p>erreur</p>";}
     
    								}
     
    				?>
     
    		</div>
    je ne sais pas si cela change quelques chose mais mes données de connection sont sur une autre page nommée identifiant.php que j'appel grâce a un include, je rentre bien dans la boucle car le echo"???" s'affiche ainsi que le echo"".insert.""; et mon else "erreur" s'affiche bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <?php
     
    #Page de connexion à la base de données
     
     
    $connect = mysqli_connect("127.0.0.1","root","","forum");//base a changer selon les besoins
    	if(!$connect)
    	{
    		die ("Erreur de connexion".mysqli_connect_error());
    	}
     
    	mysqli_select_db($connect,"forum"); //selection db changer si besoin
     
     
     
    ?>

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu n'as pas mis les apostrophes autour des valeurs mais on ne met de toute façon pas directement dans une requête des données externes.
    Tu peux utiliser une requête préparée pour sécuriser ta requête :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $stmt = mysqli_prepare($connect, 'INSERT INTO `user`(`identifiant`, `mdp`, `pseudo`, `age`, `mail`) VALUES (?, ?, ?, ?, ?)');
    mysqli_stmt_bind_param($stmt,'ssssi', $_POST["Ins_identifiant"],$_POST["Ins_mdp"],$_POST["Ins_pseudo"],$_POST["Ins_mail"],$_POST["Ins_age"]);
    mysqli_stmt_execute($stmt);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Homme Profil pro
    BTS SIO SISR
    Inscrit en
    Mars 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : BTS SIO SISR

    Informations forums :
    Inscription : Mars 2017
    Messages : 13
    Par défaut
    merci mais cela ne repond en rien a ma question au sujet de l'erreur et je ne veux pas utiliser de "requête preparée" car je n'y connais rien et je prefère ne pas faire top compliqué déja là avec les guillemet j'ai des problème alors mieux vaux ne pas s'avancer plus, de plus


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $insert="INSERT INTO `user`(`identifiant`, `mdp`, `pseudo`, `age`, `mail`) VALUES ('".$_POST["Ins_identifiant"]."','".$_POST["Ins_mdp"]."','".$_POST["Ins_pseudo"]."','".$_POST["Ins_mail"]."','".$_POST["Ins_age"].')';
    n'y change rien, rien ne s'ajoute dans ma base


    le code de ma page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    <!-- debut du div ou sont poster les champs pour l'inscription / page d'acceul etc-->
    		<div id="corps_du_forum">
    					<?php
    								//lors de l'insciption
    								if(isset($_POST["inscription"]))
     
    								{	echo"<p>????</p>";
    									//création requete
    									$insert="INSERT INTO `user`(`identifiant`, `mdp`, `pseudo`, `age`, `mail`) VALUES ('".$_POST["Ins_identifiant"]."','".$_POST["Ins_mdp"]."','".$_POST["Ins_pseudo"]."','".$_POST["Ins_mail"]."','".$_POST["Ins_age"].')';
     
    									echo $insert ;
     
     
    									//exécution de la requete
    									$Exe_Ins=mysqli_query($connect,$insert);
     
    									//une fois inscrit
    									if($Exe_Ins)
    									{
    										echo "<p>Bravo on peux vous compter parmis nous désormais</p>";
    									}
    									else
    									{echo"<p>erreur</p>";}
     
    								}
     
    				?>

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    merci mais cela ne repond en rien a ma question
    Tu n'as pas posé de question.

    Si la question c'était "pourquoi ma requête ne fonctionne pas ?", je t'ai répondu, j'ai même pris le temps de t'écrire un code correct.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Homme Profil pro
    BTS SIO SISR
    Inscrit en
    Mars 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : BTS SIO SISR

    Informations forums :
    Inscription : Mars 2017
    Messages : 13
    Par défaut
    ha oui désolé autant pour moi j'avais pas vu en faite la requête n'envoie pas les informations a la base de données, j'ai vérifié les données de connexion et ce sont les bonnes, néamoins msql ne renvoie pas de problème du coup je sais pas même après changement pourquoi la requête "disfonctionne"

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Dans ta deuxième version, tu as toujours un problème d'apostrophes.
    Mais comme je te l'ai dit, cette version n'est pas viable non plus. Si quelqu'un s'appelle D'Artagnan par exemple, la requête ne fonctionnera pas.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre averti
    Homme Profil pro
    BTS SIO SISR
    Inscrit en
    Mars 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : BTS SIO SISR

    Informations forums :
    Inscription : Mars 2017
    Messages : 13
    Par défaut
    oui mais dans tout les cas peux importe la saisie rien ne s'envoie c'est ça mon problème

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $insert= 'INSERT INTO `user`(`identifiant`, `mdp`, `pseudo`, `age`, `mail`) VALUES("'.$_POST['Ins_identifiant'].'","'.$_POST['Ins_mdp'].'","'.$_POST['Ins_pseudo'].'","'.$_POST['Ins_age'].'","'.$_POST['Ins_mail'].'")'
    y'a toujours un problème de cotte et guillemet ?

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Utilise la fonction http://php.net/manual/fr/mysqli.error.php
    pour avoir le retour de ce qui se passe dans ta requête.

    De manière plus empirique, tu peux aussi afficher ta chaine $insert pour voir a quoi elle ressemble.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Membre averti
    Homme Profil pro
    BTS SIO SISR
    Inscrit en
    Mars 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : BTS SIO SISR

    Informations forums :
    Inscription : Mars 2017
    Messages : 13
    Par défaut
    j'ai déja fait un echo $insert du coup je vois a quoi elle ressemble mais j'ai pas pensé a mysqli_error je vais essayer merci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    <?php
    								//lors de l'insciption
    								if(isset($_POST["inscription"]))
     
    								{	echo"<p>????</p>";
    									//création requete
    									$insert = 'INSERT INTO `user`(`id_user`, `identifiant`, `mdp`, `connect`, `pseudo`, `age`, `mail`) VALUES (0,"'.$_POST["Ins_identifiant"].'","'.$_POST["Ins_mdp"].'","'.$_POST["Ins_pseudo"].'","'.$_POST["Ins_mail"].'","'.$_POST["Ins_age"].'")';
     
     
    									echo $insert;
     
     
     
     
    									//exécution de la requete
    									$Exe_Ins=mysqli_query($connect,$insert);
     
    									//une fois inscrit
    									if($Exe_Ins)
    									{
    										echo "<p>Bravo on peux vous compter parmis nous désormais</p>";
    									}
    									else
    									{echo"<p>erreur</p>";}
     
    								}
     
    				?>

  10. #10
    Membre averti
    Homme Profil pro
    BTS SIO SISR
    Inscrit en
    Mars 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : BTS SIO SISR

    Informations forums :
    Inscription : Mars 2017
    Messages : 13
    Par défaut
    Bon rien n'y fait ma base reste vide mes données sont bonnes mais toujours aucun résultats et my sqli_error ne me retourne pas d'erreur

  11. #11
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Tu l'as mis ou le mysqli_error() ?
    Typiquement il va à la place de ton message d'erreur actuel.

    Concernant ta dernière version, soit tu ne mets pas de valeur pour l'id, soit tu ne mets pas du temps la colonne id dans la requête.

    Est-ce que la requête que tu as affichée fonctionne dans phpmyadmin ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  12. #12
    Membre averti
    Homme Profil pro
    BTS SIO SISR
    Inscrit en
    Mars 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : BTS SIO SISR

    Informations forums :
    Inscription : Mars 2017
    Messages : 13
    Par défaut
    je la fait avec des $_POST que je récupère d'un formulaire donc dans php my admin cela ne fonctionne pas je dois remplacer par des valeur et cela marche très bien à la main j'ai reussi a ajouter quelqu'un donc aucun problème a ce niveau



    ma base "personne ajouté via le module sql"

    Nom : Capture.PNG
Affichages : 505
Taille : 137,9 Ko


    je le met la le mysqli_error
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?php
    								//lors de l'insciption
    								if(isset($_POST["inscription"]))
     
    								{	echo"<p>????</p>";
    									//création requete
    									$insert = 'INSERT INTO `user`(`id_user`, `identifiant`, `mdp`, `connect`, `pseudo`, `age`, `mail`) VALUES (0,"'.$_POST["Ins_identifiant"].'","'.$_POST["Ins_mdp"].'","'.$_POST["Ins_pseudo"].'","'.$_POST["Ins_mail"].'","'.$_POST["Ins_age"].'")';
     
     
    									echo $insert;
     
     
     
     
    									//exécution de la requete
    									$Exe_Ins=mysqli_query($connect,$insert);
    									mysqli_error($connect);
     
     
    								}
    								?>

  13. #13
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    c'est
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo mysqli_error($connect);
    je dois remplacer par des valeur
    Puisque tu as fais un echo de $insert, tu vois déjà les valeurs dans la chaine et donc tu peux tester directement sans rien remplacer non ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  14. #14
    Membre averti
    Homme Profil pro
    BTS SIO SISR
    Inscrit en
    Mars 2017
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Meuse (Lorraine)

    Informations professionnelles :
    Activité : BTS SIO SISR

    Informations forums :
    Inscription : Mars 2017
    Messages : 13
    Par défaut
    Merci a toi mon ami ! j'ai résolu le problème .... un manque de place dans ma base de donnée (tinyint de connect qui n'a pas de defaut) merci de ta patience (grâce au echo mysqli_error($connect))

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème Insert into table intermédiaire
    Par richard_sraing dans le forum Requêtes
    Réponses: 1
    Dernier message: 24/01/2009, 22h58
  2. [A-03] Problème insert into et date
    Par thierrybatlle dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 20/10/2008, 08h17
  3. problème INSERT INTO C#/Access
    Par jerome71300 dans le forum Accès aux données
    Réponses: 8
    Dernier message: 18/08/2008, 13h34
  4. Probléme Insert into
    Par dellys2 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 21/02/2007, 10h46
  5. [Requête] Problème INSERT INTO
    Par lerico dans le forum Requêtes et SQL.
    Réponses: 22
    Dernier message: 10/01/2006, 17h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo