Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/01/2007, 12h12   #1
Membre chevronné
 
Inscription : janvier 2006
Messages : 918
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 918
Points : 735
Points : 735
Par défaut Comment insérer une date qui peut être nulle ?

Bonjour

J'ai une commande MySQL en php qui fait :
Code :
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
guidav est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2007, 12h25   #2
Expert Confirmé
 
Homme
Inscription : septembre 2006
Messages : 2 291
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : septembre 2006
Messages : 2 291
Points : 2 738
Points : 2 738
Citation:
Envoyé par guidav
Bonjour

J'ai une commande MySQL en php qui fait :
Code :
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 :
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)" ;
JeitEmgie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/01/2007, 16h18   #3
Membre chevronné
 
Inscription : janvier 2006
Messages : 918
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 918
Points : 735
Points : 735
Merci. C'est peu pratique, mais ça marche bien.
guidav est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h21.


 
 
 
 
Partenaires

Hébergement Web