Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
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 23/11/2007, 10h10   #1
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 38
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 38
Points : 10
Points : 10
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 :
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 :
$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
tkwleboss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2007, 10h36   #2
Membre émérite
 
Avatar de sharrascript
 
Homme Franck
Développeur Web indépendant
Inscription : avril 2007
Messages : 678
Détails du profil
Informations personnelles :
Nom : Homme Franck
Âge : 31
Localisation : France, Rhône (Rhône Alpes)

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

Informations forums :
Inscription : avril 2007
Messages : 678
Points : 900
Points : 900
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^^
__________________
LudiKreation Pour un web ludique et son Blog | CapRumbo pour un peu d'évasion | ChaOdisiaque Club Passion Rôliste |SierrElben le Jeu de rôle
sharrascript est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2007, 11h01   #3
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 38
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 38
Points : 10
Points : 10
justement c'est dejà fait mon code sql pour ma base de données est :
Code :
 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
tkwleboss est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2007, 11h19   #4
Membre émérite
 
Avatar de sharrascript
 
Homme Franck
Développeur Web indépendant
Inscription : avril 2007
Messages : 678
Détails du profil
Informations personnelles :
Nom : Homme Franck
Âge : 31
Localisation : France, Rhône (Rhône Alpes)

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

Informations forums :
Inscription : avril 2007
Messages : 678
Points : 900
Points : 900
attention

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

Code :
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!

++
__________________
LudiKreation Pour un web ludique et son Blog | CapRumbo pour un peu d'évasion | ChaOdisiaque Club Passion Rôliste |SierrElben le Jeu de rôle
sharrascript est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/11/2007, 13h21   #5
Candidat au titre de Membre du Club
 
Inscription : avril 2007
Messages : 38
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 38
Points : 10
Points : 10
c'est bon j'ai trouvé:
Code :
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 :
	$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
tkwleboss 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 12h33.


 
 
 
 
Partenaires

Hébergement Web