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 :

[SQL] Insertion valeur NULL de php vers SQL


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2007
    Messages : 38
    Par défaut [SQL] Insertion valeur NULL de php vers SQL
    Bonjour,
    Mon problème est d'insérer une valeur NULL au lieu de zéro vers la base de données.
    Voilà mon code pour récupérer la variable après un formulaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if(isset($_POST['note_francais_1']))      $note_francais_1=trim($_POST['note_francais_1']);
    else      $note_francais_1=NULL;
    .....
    ensuite le code d'injection vers la base de données:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql1 = "INSERT INTO francais(no_eleve,note_francais_1,note_francais_2,note_francais_3,note_francais_4) VALUES('$id_site','$note_francais_1','$note_francais_2','$note_francais_3','$note_francais_4');";
    donc j'aimerai insérer la valeur NULL quand je remplis rien dans le champ note_francais_1 que je récupère du formulaire.

    quelqu'un une idée?
    merci

  2. #2
    Membre émérite Avatar de sharrascript
    Homme Profil pro
    Développeur Web indépendant
    Inscrit en
    Avril 2007
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web indépendant

    Informations forums :
    Inscription : Avril 2007
    Messages : 678
    Par défaut
    bonjour,

    Si tu utilise MySql comme base et que tu as phpmyadmin pour l'administrer, il te suffit de mettre le champs voulu à null sur sa propriété null (par défaut elle est à not null). Ensuite, il te suffit de ne rien insérer dans la colonne pour une valeur null pour quelles soit null.

    Je ne sais pas si j'ai été clair^^

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2007
    Messages : 38
    Par défaut
    justement c'est dejà fait mon code sql pour ma base de données est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     note_francais_1   	numeric (2,1)		default NULL,
    mais je crois que l'interpréteur php n'arrive pas a prendre NULL comme elle est pour la mettre dans la base de données

    et quand j'insére rien il me met 0 au lieu de NULL

  4. #4
    Membre émérite Avatar de sharrascript
    Homme Profil pro
    Développeur Web indépendant
    Inscrit en
    Avril 2007
    Messages
    678
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web indépendant

    Informations forums :
    Inscription : Avril 2007
    Messages : 678
    Par défaut
    attention

    pas confondre la valeur par défaut et l'attribut null. Par exemple à la création de la table:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    CREATE TABLE `test` (
    `note` INT( 2 ) NULL ,
    `nom` VARCHAR( 55 ) NOT NULL ,
    `prenom` VARCHAR( 55 ) NOT NULL
    )
    Le champs note pourra accueillir une valeur null si tu ne met rien dans ce champs. La valeur par défaut doit être vide!

    ++

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2007
    Messages : 38
    Par défaut
    c'est bon j'ai trouvé:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(isset($_POST['note_francais_1']))      $note_francais_1=trim($_POST['note_francais_1']);
    $note_francais_1 = $note_francais_1 == '' ? 'NULL':"'".mysql_real_escape_string($note_francais_1)."'";
    et l'insertion:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    	$sql1 = "INSERT INTO francais(no_eleve,note_francais_1,note_francais_2,note_francais_3,note_francais_4) VALUES($id_site,$note_francais_1,$note_francais_2,$note_francais_3,$note_francais_4);";
    merci

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

Discussions similaires

  1. tableau php ver SQL | algorithme pour former l'arborescence
    Par spy74 dans le forum Algorithmes et structures de données
    Réponses: 0
    Dernier message: 17/01/2009, 12h13
  2. Tester valeur null dans une requête sql
    Par bobosh dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 31/07/2008, 13h07
  3. [PHP-JS] Requête PHP vers SQL dans un script JavaScript
    Par AngelFire dans le forum Langage
    Réponses: 6
    Dernier message: 08/03/2008, 11h13
  4. Fonction SQL Pour valeur nulle
    Par claralavraie dans le forum Oracle
    Réponses: 5
    Dernier message: 04/10/2006, 13h39
  5. [JDBC] retour de requete sql avec valeur NULL
    Par maxxou dans le forum JDBC
    Réponses: 3
    Dernier message: 13/09/2004, 14h40

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