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 09/01/2007, 16h52   #1
Invité de passage
 
Inscription : septembre 2006
Messages : 27
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 27
Points : 4
Points : 4
Par défaut [PostgreSQL] Initialisation de variable numérique à vide

Bonjour tout le monde,

C'est une question un peu bête mais dons je ne trouve pas la réponse ni sur le net, ni dans ce forum. J'ai des variable numérique que je dois initialiser à vide pour les passer dans ma requête.

J'ai essayer :
Code :
1
2
3
4
5
6
7
8
9
10
11
 
function TestValeurNum ($valeur)
{
 If ($valeur =="")
 {
   return NULL;
 } else 
 {
   return $valeur;
 }
}
A la place de NULL j'ai essayé de mettre juste des cots simple et double, mais rien n'y fait. Il me marque tjrs ce message :
Citation:
Warning: pg_query(): Query failed: ERROR: syntax error at or near ","
Auriez vous une idée ....

Merci

Ludo
civodultrebor37 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2007, 16h54   #2
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
oui , tu pourrais donner un peu plus de code ....
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2007, 17h01   #3
Invité de passage
 
Inscription : septembre 2006
Messages : 27
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 27
Points : 4
Points : 4
Heuuu je peu te mettre cela en plus si sa peut aider :

Code :
1
2
3
4
5
6
7
 
$variable1 = TestValeurNum ($variable1);
$variable2 = TestValeurNum ($variable2);
$variable3 = TestValeurNum ($variable3);
$variable4 = TestValeurNum ($variable4);
$variable = $variable1.','.$variable2.','.$variable3.','.$variable4;
ReqInsertion($table, $variable, $champs);
cela t'aidera t'il ?
civodultrebor37 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2007, 17h31   #4
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
non il me faut le code de ReqInsertion stp
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2007, 17h33   #5
Invité de passage
 
Inscription : septembre 2006
Messages : 27
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 27
Points : 4
Points : 4
Houps j'avais oublié

La voici

Code :
1
2
3
4
5
6
7
8
9
10
 
function ReqInsertion($table, $variable, $champs)
{
 ConnectBD();
 $sql = "INSERT INTO schema_gestion_cimetco.$table ($champs) VALUES ($variable)";
 echo $sql;
 pg_query($sql);
 DisconnectBD();
 return ;
}
civodultrebor37 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2007, 17h40   #6
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
bon , aucunes fonctions ne portent le meme nom et il manque la moitié des infos (genre le contenu de $champs) mais a premiere vue y a un soucis avec ta requete sql :

Theoriquement ça devrait donner :
Code sql :
1
2
 
INSERT INTO TABLE (champ1,champ2,champ3) VALUES ('valeur1','valeur2','valeur3')

il faut s'arranger pour que ta variable $variables soit sous la forme 'valeur1','valeur2','valeur3'

je pense qu'il te manque les simple quote
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2007, 17h58   #7
Membre chevronné
 
Inscription : janvier 2006
Messages : 918
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 918
Points : 735
Points : 735
Citation:
Envoyé par RideKick
bon , aucunes fonctions ne portent le meme nom et il manque la moitié des infos (genre le contenu de $champs) mais a premiere vue y a un soucis avec ta requete sql :

Theoriquement ça devrait donner :
Code sql :
1
2
 
INSERT INTO TABLE (champ1,champ2,champ3) VALUES ('valeur1','valeur2','valeur3')

il faut s'arranger pour que ta variable $variables soit sous la forme 'valeur1','valeur2','valeur3'

je pense qu'il te manque les simple quote
Sauf s'il faut ajouter un champ NULL, auquel cas il ne faut pas de quotes... c'est toujours fun la gestion des NULL.
guidav est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/01/2007, 18h17   #8
Invité de passage
 
Inscription : septembre 2006
Messages : 27
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 27
Points : 4
Points : 4
Désolé RideKick, mais effectivement je me suis tromper dans le nom de ma fonction (je viens de corriger l'erreur). Sinon pour $champs on a

Code :
1
2
 
$champs = 'variable1, variable2, variable3, variable4';
Sauf que si je met des quotes pour une valeur numérique NULL, il me met mon message d'erreur. D'ou mon souci d'initialisé une variable numérique de façons à ce que je puisse ensuite réalisé ma requête d'insertion.
civodultrebor37 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/01/2007, 11h02   #9
Rédacteur
 
Avatar de RideKick
 
Homme
Directeur technique
Inscription : septembre 2006
Messages : 5 959
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Directeur technique
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2006
Messages : 5 959
Points : 10 889
Points : 10 889
si par exemple valeur1 est nulle ça donne ça :

Code sql :
INSERT INTO TABLE (champ1,champ2,champ3) VALUES ('','valeur2','valeur3')
__________________
Pas de questions techniques en MP please

Mon site perso
RideKick est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/01/2007, 15h31   #10
Invité de passage
 
Inscription : septembre 2006
Messages : 27
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 27
Points : 4
Points : 4
Sauf que si je fais cela il me met une erreur. D'ou mon problème
civodultrebor37 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h43.


 
 
 
 
Partenaires

Hébergement Web