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 :

Erreur ! SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'numSalle' cannot be null


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de IamKanagawa
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2018
    Messages : 114
    Par défaut Erreur ! SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'numSalle' cannot be null
    Bonjour j'ai cette erreur

    Enfaite je remplis des informations dans un formulaire puis je vais sur une page et encore une autre c'est sur cette page que je veux insérer mes données

    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
     
    <?php
    session_start();  // démarrage d'une session
        $_SESSION['lettre'] = $lettre; 
        $_SESSION['numSalle'] = $numSalle;
    try { 
        $bdd  = include 'includes/connexion_bdd.php'; 
        $sql = 'INSERT INTO salle(numSalle,lettreBatimentSalle) VALUES (:numSalle, :lettre)';
        //la ligne qui lance la requête préparée
        $stmt = $bdd->prepare($sql);
        $stmt->execute(array(
    	    ':numSalle' => $numSalle,
    	    ':lettre' => $lettre
        ));
    ?>
     
    <!DOCTYPE html>
    <html >
    <head>
        <meta charset="UTF-8">
    </head>
    <body>
        <form  action="" method="post">
     
            <?php
                $nb_insert = $stmt->rowCount();
                     echo '<h3> '.$lettre.' '.$numSalle.' </h3>';
                              }catch (Exception $e) {
                //s'il y a un problème PHP ou SQL, tout s'affichera ici
                    echo "Erreur ! " . $e->getMessage() . "<br/>";
                }
            ?>
        </form>
    </body>
    </html>
    Ma table :
    CREATE TABLE `salle` (
    `idSalle` int(11) NOT NULL,
    `numSalle` int(11) NOT NULL,
    `lettreBatimentSalle` varchar(50) NOT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

  2. #2
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    Et $numSalle. D’où vient sa valeur ? Je ne vois pas de $_GET ou $_POST qui rempliraient cette variable.
    A moins que tu voulais écrire $numSalle = $_SESSION["numsalle"];

  3. #3
    Membre confirmé Avatar de IamKanagawa
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2018
    Messages : 114
    Par défaut
    Le $numSalle vient d'un formulaire POST qui se trouve sur une autre page. Donc j'ai écris "$_SESSION['numSalle'] = $numSalle" pour récupérer la valeur ou le traitement php doit ce faire. Et sur ma page ou il y a le formulaire j'ai écris le code php suivant pour déclarer la variable session

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    session_start();  // démarrage d'une session
    $lettre = $_POST['sltBatiment'];
    $numSalle = $_POST['numSalle'];
     
    $_SESSION['lettre'] = $lettre; 
    $_SESSION['numSalle'] = $numSalle;
    ?>

  4. #4
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    Et il n’y a rien qui te choques ?

  5. #5
    Membre confirmé Avatar de IamKanagawa
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    114
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2018
    Messages : 114
    Par défaut
    Bah c'est erreur de syntaxe ?

  6. #6
    Membre Expert
    Avatar de badaze
    Homme Profil pro
    Chef de projets info
    Inscrit en
    Septembre 2002
    Messages
    1 412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets info
    Secteur : Transports

    Informations forums :
    Inscription : Septembre 2002
    Messages : 1 412
    Par défaut
    Tu affectes $numSalle à la variable de session cf. ton premier message. De ce que tu écris ensuite est-ce que ce ne devrait pas être le contraire ?

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 13/08/2017, 23h02
  2. Integrity constraint violation: 1048 Column 'abc' cannot be null
    Par Elwood J. Blues dans le forum Doctrine2
    Réponses: 6
    Dernier message: 13/06/2015, 16h43
  3. Réponses: 2
    Dernier message: 16/03/2013, 18h06
  4. Réponses: 2
    Dernier message: 14/08/2011, 14h25
  5. Réponses: 3
    Dernier message: 04/03/2011, 09h30

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