|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : février 2006 Messages : 49 ![]() |
Bonjour,
j'aimerais réaliser une insertion dans ma BD Postgres. Je fait tout d'abord un traitement et à la suite de cela, je récupère des valeurs que je mets dans des variables. Certaines variables peuvent etre null. Je mets donc: Mais quand je veux insérer dans ma BD cette valeur: il met met une erreur de syntaxe... J'ai teste avec les guillemets ("NULL") mais sans résultat... |
|
|
00
|
|
|
#2 |
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 753 ![]() |
Ce serait bien de nous montrer l'erreur affichée
|
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : février 2006 Messages : 49 ![]() |
Warning: pg_query(): Query failed: ERROR: syntax error at or near "," at character 361 in ...
|
|
|
00
|
|
|
#4 |
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 753 ![]() |
Oui et la requete ?
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : février 2006 Messages : 49 ![]() |
Code :
INSERT INTO tb_ligne_commande_repas (id_ligne_commande_repas, id_cuisson_ligne_commande_repas, id_beurre_ligne_commande_repas, id_accompagnement_li_com_repas, id_commande_ligne_comm_repas, id_repas_ligne_commande_repas, id_sauce_ligne_commande_repas, nbre_fois_repas, demi_portion, legume, envoye_cuisine) VALUES (NEXTVAL ('sequence_tb_ligne_commande_repas'), '$cuisson', '$beurre', '$accompagnement', '$idCommandeFinal', '$idRepas', '$sauce', '$nbreFoisConso', $demi_portion, FALSE, FALSE) |
|
|
00
|
|
|
#6 |
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 753 ![]() |
Et si tu mettais directement comme ceci :
Code :
INSERT INTO tb_ligne_commande_repas (id_cuisson_ligne_commande_repas, id_beurre_ligne_commande_repas, id_accompagnement_li_com_repas, id_commande_ligne_comm_repas, id_repas_ligne_commande_repas, id_sauce_ligne_commande_repas, nbre_fois_repas, demi_portion, legume, envoye_cuisine) VALUES ('$cuisson', '$beurre', '$accompagnement', '$idCommandeFinal', '$idRepas', '$sauce', '$nbreFoisConso', '$demi_portion', 'FALSE', 'FALSE') Aussi ta clé primaire est en auto-inc tu peux mettre ta requete directement comme je te l'ai donné |
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : février 2006 Messages : 49 ![]() |
Tout d'abord merci pout ton intérêt,
J'ai tenté avec cette syntaxe mais j'ai toujours le même erreur... |
|
|
00
|
|
|
#8 |
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 753 ![]() |
A la même colonne ???
|
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : février 2006 Messages : 49 ![]() |
Oui toujours la même chose...
Mais je vais pouvoir m'arranger autrement... Mais j'ai une autre question, je tente de faire un select du genre : Code :
select count (*) FROM tb_test where no_test = NULL; |
|
|
00
|
|
|
#10 |
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 753 ![]() |
Code :
select count (*) as total FROM tb_test where no_test = NULL; |
|
|
00
|
|
|
#11 |
|
Invité de passage
![]() Inscription : février 2006 Messages : 49 ![]() |
Il me donne maintenant une nouvelle erreur après cet insert:
Code :
INSERT INTO tb_ligne_commande_repas (id_ligne_commande_repas, id_cuisson_ligne_commande_repas, id_beurre_ligne_commande_repas, id_accompagnement_li_com_repas, id_commande_ligne_comm_repas, id_repas_ligne_commande_repas, id_sauce_ligne_commande_repas, nbre_fois_repas, demi_portion, legume, envoye_cuisine) VALUES (NEXTVAL ('sequence_tb_ligne_commande_repas'), 3, 7, 6, FALSE, FALSE, FALSE) ERROR: column "id_commande_ligne_comm_repas" is of type numeric but expression is of type boolean HINT: You will need to rewrite or cast the expression. |
|
|
00
|
|
|
#12 |
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 753 ![]() |
Ben c'est clair...Dans la structure de ta table le champs est de type numeric et tu lui passes dans ta requete un booléen (true ou false) donc il faudrait soit revoir la structure soit mettre ton booléen en numeric
|
|
|
00
|
|
|
#13 | ||
|
Invité de passage
![]() Inscription : février 2006 Messages : 49 ![]() |
Oui désolé erreur d'inattention...
Mais ceci réglé, j'ai toujours ce problème de null à insérer dans la base: Voici un exemple précis de ce que j'aimerais: Code :
Warning: pg_query(): Query failed: ERROR: invalid input syntax for integer: ""... Alors comment faire pour insérer une valuer null dans un champs numérique? Est-il possible de "caster" la variable? |
||
|
|
00
|
|
|
#14 |
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 753 ![]() |
TOujours dans la structure de ta table ton champs accepte-t-il la valeur null ?
Pourquoi ton champs non est du type numeric ? nom c'est pas une chaine de caractères ? |
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Inscription : février 2006 Messages : 49 ![]() |
Oui, il accepte le null...
la, c'etait pour l'exemple (mal choisi c'est vrai!)... Mais mon champs est de type numeric... |
|
|
00
|
|
|
#16 |
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 753 ![]() |
Selon ton warning tu veux inserer une valeur vide dans un champ numéric...Il me semble que tu peux mettre null mais pas "". Donc il faudrait certainement faire un test avant la requete pour mettre null à la place de ""
|
|
|
00
|
|
|
#17 | ||
|
Invité de passage
![]() Inscription : février 2006 Messages : 49 ![]() |
oui c'est ca, je fais un test avant. Suivant le résulat je mets NULL dans ma variable:
Comme cela: Code :
insert into tb_test VALUES (5, ) Donc cela ne peut pas jouer... |
||
|
|
00
|
|
|
#18 |
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 753 ![]() |
Ah no je suis bête
. ca vient de la construction de ta requete.De la manière que tu l'as construite tu auras toujours des problèmes d'insertion. Voilà ce que tu fais pour une valeur null : Insert into nomtable (tes champs..) VALUES (...., ); Pour lui une requete comme ca lui pose problème donc il faut formater ta requete correctement.Essayes plutot une requete de ce genre : Code :
$insertLigneRepas = "insert into tb_test (id, nom)VALUES (5, '$nom')"; |
|
|
00
|
|
|
#19 |
|
Invité de passage
![]() Inscription : février 2006 Messages : 49 ![]() |
j'ai essayé, mais le problème persiste...
|
|
|
00
|
|
|
#20 |
|
Inactif
![]() Inscription : septembre 2004 Messages : 11 753 ![]() |
Bon mets ta requete, plus le echo de la requete, plus la structure de la table
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com