Bonsoir,
Dans la requête suivante, je veux insérer NULL si $d[$a] est vide. A
l'execution,
aucune insertion n'a lieu quand le champ est vide. Par contre j'ai NULL
quand le champ=0.
INSERT INTO x VALUES ('$a', '$b','$c', NULLIF(".$d[$a].",' '))";
L'ajout de addslashes n'a provoqué aucun changement.
"Tanguy" a écrit dans le message de news:
Il se trouve que Forums wanadoo a formulé : > INSERT INTO x VALUES ('$a', '$b','$c', NULLIF(".$d[$a].",' '))";
INSERT INTO x VALUES ('$a', '$b','$c', NULLIF('".addslashes($d[$a])."',' '))";
Rue des Prairies
Forums wanadoo a écrit :
Bonsoir, Dans la requête suivante, je veux insérer NULL si $d[$a] est vide. A l'execution, aucune insertion n'a lieu quand le champ est vide. Par contre j'ai NULL quand le champ=0.
INSERT INTO x VALUES ('$a', '$b','$c', NULLIF(".$d[$a].",' '))";
Merci de votre aide Oman
Bonjour,
Selon la doc http://dev.mysql.com/doc/mysql/fr/Control_flow_functions.html
NULLIF retourne NULL ssi exp1 = exp2, dans ta requête, il y aura NULL si $d[$a] = ' ' , je pense que tu veux $d[$a] = '' donc : INSERT INTO x VALUES ('$a', '$b','$c', NULLIF(".$d[$a].",''))";
Si j'ai bien compris ton problème.
Olivier.
Forums wanadoo a écrit :
Bonsoir,
Dans la requête suivante, je veux insérer NULL si $d[$a] est vide. A
l'execution,
aucune insertion n'a lieu quand le champ est vide. Par contre j'ai NULL
quand le champ=0.
INSERT INTO x VALUES ('$a', '$b','$c', NULLIF(".$d[$a].",' '))";
Merci de votre aide
Oman
Bonjour,
Selon la doc http://dev.mysql.com/doc/mysql/fr/Control_flow_functions.html
NULLIF retourne NULL ssi exp1 = exp2, dans ta requête, il y aura NULL si
$d[$a] = ' ' , je pense que tu veux $d[$a] = ''
donc :
INSERT INTO x VALUES ('$a', '$b','$c', NULLIF(".$d[$a].",''))";
Bonsoir, Dans la requête suivante, je veux insérer NULL si $d[$a] est vide. A l'execution, aucune insertion n'a lieu quand le champ est vide. Par contre j'ai NULL quand le champ=0.
INSERT INTO x VALUES ('$a', '$b','$c', NULLIF(".$d[$a].",' '))";
Merci de votre aide Oman
Bonjour,
Selon la doc http://dev.mysql.com/doc/mysql/fr/Control_flow_functions.html
NULLIF retourne NULL ssi exp1 = exp2, dans ta requête, il y aura NULL si $d[$a] = ' ' , je pense que tu veux $d[$a] = '' donc : INSERT INTO x VALUES ('$a', '$b','$c', NULLIF(".$d[$a].",''))";
Si j'ai bien compris ton problème.
Olivier.
Forums wanadoo
Bonsoir, j'ai bien testé sans espace à l'intérieur des guillements simples. Je connais la doc en question et d'ailleurs je n'ai pas encore vu sur le net l'utilisation de NULLIF avec un INSERT. Précision : j'ai déclaré dans ma table(phpmyadmin) le champ en question : type décimale et null possible. Merci de vous être penché sur le problème. Oman
Bonjour,
Selon la doc http://dev.mysql.com/doc/mysql/fr/Control_flow_functions.html
NULLIF retourne NULL ssi exp1 = exp2, dans ta requête, il y aura NULL si $d[$a] = ' ' , je pense que tu veux $d[$a] = '' donc : INSERT INTO x VALUES ('$a', '$b','$c', NULLIF(".$d[$a].",''))";
Si j'ai bien compris ton problème.
Olivier.
Bonsoir,
j'ai bien testé sans espace à l'intérieur des guillements simples. Je
connais la doc en question et d'ailleurs je n'ai pas encore vu sur le net
l'utilisation de NULLIF avec un INSERT.
Précision : j'ai déclaré dans ma table(phpmyadmin) le champ en question :
type décimale et null possible.
Merci de vous être penché sur le problème.
Oman
Bonjour,
Selon la doc http://dev.mysql.com/doc/mysql/fr/Control_flow_functions.html
NULLIF retourne NULL ssi exp1 = exp2, dans ta requête, il y aura NULL si
$d[$a] = ' ' , je pense que tu veux $d[$a] = ''
donc :
INSERT INTO x VALUES ('$a', '$b','$c', NULLIF(".$d[$a].",''))";
Bonsoir, j'ai bien testé sans espace à l'intérieur des guillements simples. Je connais la doc en question et d'ailleurs je n'ai pas encore vu sur le net l'utilisation de NULLIF avec un INSERT. Précision : j'ai déclaré dans ma table(phpmyadmin) le champ en question : type décimale et null possible. Merci de vous être penché sur le problème. Oman
Bonjour,
Selon la doc http://dev.mysql.com/doc/mysql/fr/Control_flow_functions.html
NULLIF retourne NULL ssi exp1 = exp2, dans ta requête, il y aura NULL si $d[$a] = ' ' , je pense que tu veux $d[$a] = '' donc : INSERT INTO x VALUES ('$a', '$b','$c', NULLIF(".$d[$a].",''))";
Si j'ai bien compris ton problème.
Olivier.
Rue des Prairies
Forums wanadoo a écrit :
Bonsoir, j'ai bien testé sans espace à l'intérieur des guillements simples. Je connais la doc en question et d'ailleurs je n'ai pas encore vu sur le net l'utilisation de NULLIF avec un INSERT. Précision : j'ai déclaré dans ma table(phpmyadmin) le champ en question : type décimale et null possible. Merci de vous être penché sur le problème. Oman
Bizarre, ça fonctionne très bien chez moi. Peux-tu donner plus de renseignements sur la structure de ta table et des exemples de données ?
Olivier.
Forums wanadoo a écrit :
Bonsoir,
j'ai bien testé sans espace à l'intérieur des guillements simples. Je
connais la doc en question et d'ailleurs je n'ai pas encore vu sur le net
l'utilisation de NULLIF avec un INSERT.
Précision : j'ai déclaré dans ma table(phpmyadmin) le champ en question :
type décimale et null possible.
Merci de vous être penché sur le problème.
Oman
Bizarre, ça fonctionne très bien chez moi.
Peux-tu donner plus de renseignements sur la structure de ta table et
des exemples de données ?
Bonsoir, j'ai bien testé sans espace à l'intérieur des guillements simples. Je connais la doc en question et d'ailleurs je n'ai pas encore vu sur le net l'utilisation de NULLIF avec un INSERT. Précision : j'ai déclaré dans ma table(phpmyadmin) le champ en question : type décimale et null possible. Merci de vous être penché sur le problème. Oman
Bizarre, ça fonctionne très bien chez moi. Peux-tu donner plus de renseignements sur la structure de ta table et des exemples de données ?
Olivier.
Antoun
Forums wanadoo wrote:
Bonsoir, Dans la requête suivante, je veux insérer NULL si $d[$a] est vide. A l'execution, aucune insertion n'a lieu quand le champ est vide. Par contre j'ai NULL quand le champ=0.
INSERT INTO x VALUES ('$a', '$b','$c', NULLIF(".$d[$a].",' '))";
Merci de votre aide Oman
si je comprends bien, $d[$a] est une variable PHP. Tu ne peux donc pas tester son type avec MySQL !
Par ailleurs, tu sembles considérer que ' ' serait vide. Il contient un espace, et est donc différent de la chaîne vide ''...
Bonsoir,
Dans la requête suivante, je veux insérer NULL si $d[$a] est vide. A
l'execution,
aucune insertion n'a lieu quand le champ est vide. Par contre j'ai NULL
quand le champ=0.
INSERT INTO x VALUES ('$a', '$b','$c', NULLIF(".$d[$a].",' '))";
Merci de votre aide
Oman
si je comprends bien, $d[$a] est une variable PHP. Tu ne peux donc pas
tester son type avec MySQL !
Par ailleurs, tu sembles considérer que ' ' serait vide. Il contient un
espace, et est donc différent de la chaîne vide ''...
Bonsoir, Dans la requête suivante, je veux insérer NULL si $d[$a] est vide. A l'execution, aucune insertion n'a lieu quand le champ est vide. Par contre j'ai NULL quand le champ=0.
INSERT INTO x VALUES ('$a', '$b','$c', NULLIF(".$d[$a].",' '))";
Merci de votre aide Oman
si je comprends bien, $d[$a] est une variable PHP. Tu ne peux donc pas tester son type avec MySQL !
Par ailleurs, tu sembles considérer que ' ' serait vide. Il contient un espace, et est donc différent de la chaîne vide ''...