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

Langage PHP Discussion :

Echec :SQLSTATE[23000]: Integrity constraint violation: 1048 Le champ 'nom' ne peut �tre vide (null)


Sujet :

Langage PHP

  1. #1
    Membre à l'essai Avatar de K-store
    Homme Profil pro
    étudiant en informatique
    Inscrit en
    Août 2017
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : étudiant en informatique

    Informations forums :
    Inscription : Août 2017
    Messages : 17
    Points : 14
    Points
    14
    Par défaut Echec :SQLSTATE[23000]: Integrity constraint violation: 1048 Le champ 'nom' ne peut �tre vide (null)
    Bonjour a tous , j'ai pour projet de créer un site :
    le problème c'est que je n'arrive pas a insérer les données de mes formulaires dans ma bdd.
    j'ai une erreur qui s'affiche aussi: Echec :SQLSTATE[23000]: Integrity constraint violation: 1048 Le champ 'nom' ne peut �tre vide (null)
    je vous laisse le code,si quelqu'un peut m'aider, ça m'économiserais un arrachage de cheveux

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
     
    <form action="ajout-anime.php" method="POST"> 
     
      <label style="font-size: 1.2em;">Nom de l'anime:</label> 
    <input name="nom"  style="font-size: 1em;width: 60%; height:20px;border-radius: 4px; box-shadow: 1px 1px 2px 2px red ;  " /> 
     
    </br></br> 
     
     
        <label style="color:green;" >Genre Principale :</label> 
     
        <select name="genre1"> 
    <option>Gore/Horreur</option> 
    <option>Mecha</option> 
    <option>Seinen</option> 
    <option>Shonen</option> 
    <option selected>Shojo</option> 
    <option>Aventure</option> 
    <option>Action</option> 
    <option>Ecchi</option> 
    </select>  
     
     <label style="color:green;padding-left: 15px;"> Genre Secondaire :</label> 
     
        <select name="genre2"> 
    <option>Gore/Horreur</option> 
    <option>Mecha</option> 
    <option>Seinen</option> 
    <option>Shonen</option> 
    <option selected>Shojo</option> 
    <option>Aventure</option> 
    <option>Action</option> 
    <option>Ecchi</option> 
    </select>  
    </br></br>  
     
     
    <p style="font-size: 1.2em;">Nombre d'épisode(s):</p><input type="number" name="nombre_episode" value="12"> 
    </br></br> 
     <label style="font-size: 1.2em";>Public :</br></br></label> 
     <input type="radio" name="pegi" value="Tout Public :"/><span style="color:green;">Tout Public</span> 
    <input type= "radio" name="pegi" value="-12 ans"/><span style="color:yellow;">-12 ans</span> 
    <input type= "radio" name="pegi" value="-16 ans"/><span style="color:orange;">-16 ans</span> 
    <input type= "radio" name="pegi" value="-18 ans"/> <span style="color:red;">-18 ans</span> 
    <div id='structure_liens'> 
    <label>Résumé de l'anime :</label> 
    <textarea style="height: 200px;width: 100%;border-radius: 5px;margin-left:-4px"></textarea> 
     
    </div> 
     
    </br></br>   
    <div style="text-align: center;"> 
        <input type="submit" class="submit1"/> 
        </div> 
      </form> 
     
     
     
     
    <?php 
    $serveur='localhost'; 
    $login='root'; 
    $pass=''; 
    try{     
    $connexion = new PDO("mysql:host=$serveur;dbname=anime-nian", $login, $pass); 
    $connexion->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); 
     
    $requete=$connexion->prepare("INSERT INTO anime(nom,pegi,genre1,genre2,nombre_episode,description) VALUES( 
      :nom,:pegi,:genre1,:genre2,:nombre_episode,:description)"); 
    $requete->bindParam(':nom',$_POST['nom']); 
    $requete->bindParam(':pegi',$_POST['pegi']); 
    $requete->bindParam(':genre1',$_POST['genre1']); 
    $requete->bindParam(':genre2',$_POST['genre2']); 
    $requete->bindParam(':nombre_episode',$_POST['nombre_episode']); 
    $requete->bindParam(':description',$_POST['description']); 
     
    $requete->execute(); 
    } 
    catch(PDOException $e){  
      echo'Echec : .$e->getMessage(); 
    }  
    
        ?>

  2. #2
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2008
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2008
    Messages : 252
    Points : 358
    Points
    358
    Par défaut
    L'erreur et pourtant claire. Le champ nom ne peux pas être vide (null).
    A priori les données ne sont pas reçu. Essai de faire un var_dump($_POST) avant la requête.

  3. #3
    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
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as oublié le "type"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="nom" type="text" ... />

  4. #4
    Membre à l'essai Avatar de K-store
    Homme Profil pro
    étudiant en informatique
    Inscrit en
    Août 2017
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : étudiant en informatique

    Informations forums :
    Inscription : Août 2017
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par numew Voir le message
    L'erreur et pourtant claire. Le champ nom ne peux pas être vide (null).
    A priori les données ne sont pas reçu. Essai de faire un var_dump($_POST) avant la requête.
    j'ai testé avant la requête et cela me renvoie ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    C:\wamp64\www\site\ajout-anime.php:83:
    array (size=0)
      empty
    j'ai testé après la requete et cela me renvoie ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    C:\wamp64\www\site\ajout-anime.php:92:
    array (size=6)
      'nom' => null
      'pegi' => null
      'genre1' => null
      'genre2' => null
      'nombre_episode' => null
      'description' => null
    et quand je clique sur mon bouton submit:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    C:\wamp64\www\site\ajout-anime.php:76:
    array (size=5)
      'nom' => string 'attack on titan' (length=15)
      'genre1' => string 'Gore/Horreur' (length=12)
      'genre2' => string 'Action' (length=6)
      'nombre_episode' => string '24' (length=2)
      'pegi' => string '-16 ans' (length=7)
       'description' => string 'blabla' (length=6)
    Echec :SQLSTATE[01000]: Warning: 1265 Data truncated for column 'pegi' at row 1
    donc les données sont bien recu

  5. #5
    Membre à l'essai Avatar de K-store
    Homme Profil pro
    étudiant en informatique
    Inscrit en
    Août 2017
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : étudiant en informatique

    Informations forums :
    Inscription : Août 2017
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Tu as oublié le "type"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input name="nom" type="text" ... />
    Merci pour ta réponse mais d'autres erreurs surviennent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Echec :SQLSTATE[01000]: Warning: 1265 Data truncated for column 'pegi' at row 1
    ou encore:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Echec :SQLSTATE[HY000]: General error: 1366 Incorrect integer value: 'Tout Public :' for column 'pegi' at row 1
    je comprends vraiment pas ce qu'il se passe

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    Ta colonne "PEGI" attend un nombre entier, pas le libellé.

  7. #7
    Membre à l'essai Avatar de K-store
    Homme Profil pro
    étudiant en informatique
    Inscrit en
    Août 2017
    Messages
    17
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : étudiant en informatique

    Informations forums :
    Inscription : Août 2017
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Ta colonne "PEGI" attend un nombre entier, pas le libellé.
    Effectivement c'était ça ! merci

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/03/2013, 18h06
  2. Réponses: 2
    Dernier message: 14/08/2011, 14h25
  3. Réponses: 9
    Dernier message: 24/04/2011, 17h03
  4. Réponses: 3
    Dernier message: 04/03/2011, 09h30
  5. Réponses: 7
    Dernier message: 29/11/2010, 17h34

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