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

SQL Procédural MySQL Discussion :

Comment insérer une date qui peut être nulle ?


Sujet :

SQL Procédural MySQL

  1. #1
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Points : 958
    Points
    958
    Par défaut Comment insérer une date qui peut être nulle ?
    Bonjour

    J'ai une commande MySQL en php qui fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $log_date = isset($date) ? $date : '';
    $log_nom = defined("AUTH_EMAIL") ? AUTH_EMAIL : 'Inconnu';
    $sql = "INSERT INTO logs (date, nom) VALUES ('$logdate', '$log_nom');
    Mon problème est que $date peut être égal à ''.
    Dans ce cas, je voudrais insérer NULL à la place de la date. Comment faire pour ne pas générer d'erreur mysql ?

    Merci d'avance

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 953
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 953
    Points : 4 379
    Points
    4 379
    Par défaut
    Citation Envoyé par guidav
    Bonjour

    J'ai une commande MySQL en php qui fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $log_date = isset($date) ? $date : '';
    $log_nom = defined("AUTH_EMAIL") ? AUTH_EMAIL : 'Inconnu';
    $sql = "INSERT INTO logs (date, nom) VALUES ('$logdate', '$log_nom');
    Mon problème est que $date peut être égal à ''.
    Dans ce cas, je voudrais insérer NULL à la place de la date. Comment faire pour ne pas générer d'erreur mysql ?

    Merci d'avance
    vous mettez les quotes dans la variable et les enlevez de l'expression INSERT

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $log_date = isset($date) ? ("'".$date."'") : ("NULL");
    $log_nom = defined("AUTH_EMAIL") ? ("'".AUTH_EMAIL."'") : ("'Inconnu'");
    $sql = "INSERT INTO logs (date, nom) VALUES ($log_date, $log_nom)" ;

  3. #3
    Membre éprouvé

    Inscrit en
    Janvier 2006
    Messages
    969
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 969
    Points : 958
    Points
    958
    Par défaut
    Merci. C'est peu pratique, mais ça marche bien.

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

Discussions similaires

  1. [XL-2003] Comment documenter un DTPickers avec le contenu d'une cellule qui peut être vide.
    Par MichaSarah dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/12/2010, 00h54
  2. INDEX sur une colonne qui peut être NULL
    Par dorian53 dans le forum Requêtes
    Réponses: 15
    Dernier message: 29/11/2007, 17h13
  3. [Access][SQL] Filtrer un champ text qui peut être NULL
    Par aumax1 dans le forum VBA Access
    Réponses: 1
    Dernier message: 04/04/2006, 08h40
  4. Réponses: 8
    Dernier message: 11/08/2005, 09h32
  5. [...] doit utiliser une requête qui peut être mise à jour
    Par requiemforadream dans le forum ASP
    Réponses: 4
    Dernier message: 26/04/2005, 09h12

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