|
Publicité ' | ||||||||||||||||||||||||
|
|
#1 |
|
Membre régulier
![]() Inscription : juillet 2004 Messages : 393 ![]() |
Bonjour à tous,
je travail avec des requêtes préparées. Sur mes valeurs à nombre, lorsque je bind la valeur qui est vide, elle se transforme en 0 sur ma base MySQL. J'ai essayé : $this->dbh->setAttribute(PDO::ATTR_ORACLE_NULLS,PDO::NULL_EMPTY_STRING); mais ça ne change rien Merci de votre aide |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 2 278 ![]() |
Bonjour,
quelles sont les caractéristiques du champ en base ? |
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : juillet 2004 Messages : 393 ![]() |
C'est un float(3,1)
|
|
|
00
|
|
|
#4 |
|
Membre chevronné
![]() Inscription : juillet 2003 Messages : 625 ![]() |
Bonjour,
t'aurais pas un default 0 sur ce champs ?
__________________
Le savoir est utile que s'il est partagé par tous. /(bb|[^b]{2})/ !sleep() ? array((string)) |
|
|
00
|
|
|
#5 |
|
Membre régulier
![]() Inscription : juillet 2004 Messages : 393 ![]() |
Non j'ai bien un NULL
|
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 2 278 ![]() |
montre nous ton code php stp
|
|
|
00
|
|
|
#7 |
|
Membre chevronné
![]() Inscription : juillet 2003 Messages : 625 ![]() |
et si au lieu de lui envoyer du vide, tu lui envoyais NULL ?
__________________
Le savoir est utile que s'il est partagé par tous. /(bb|[^b]{2})/ !sleep() ? array((string)) |
|
|
00
|
|
|
#8 | ||
|
Membre régulier
![]() Inscription : juillet 2004 Messages : 393 ![]() |
bien sûr, je vous mets des extraits des parties importantes.
Pour information j'ai écris une class pour faciliter certaines opérations, d'où les $this Code :
|
||
|
|
00
|
|
|
#9 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Ce n'est pas un problème PDO, tu obtiendras la meme chose si tu fais le test dans phpmyadmin.
Ton float ne peut pas valoir une chaine vide. |
|
|
00
|
|
|
#10 |
|
Membre régulier
![]() Inscription : juillet 2004 Messages : 393 ![]() |
En fait je souhaite que ma valeur vide devienne null du côté MySQL et non 0,0
|
|
|
00
|
|
|
#11 |
|
Membre chevronné
![]() Inscription : juillet 2003 Messages : 625 ![]() |
t'as essayé en insérant NULL ?
__________________
Le savoir est utile que s'il est partagé par tous. /(bb|[^b]{2})/ !sleep() ? array((string)) |
|
|
00
|
|
|
#12 | ||
|
Membre Expert
![]() Inscription : juin 2007 Messages : 2 278 ![]() |
Es tu sur que ce n'est pas un $this->bindParam() dans ta classe qu'il faut utiliser ?
Sinon, tu peux toujours tester de rajouter les 2 points... Code sql :
|
||
|
|
00
|
|
|
#13 |
|
Membre régulier
![]() Inscription : juillet 2004 Messages : 393 ![]() |
Oui c'est ce que je fais sur certains scripts mais je trouve ça bricolo :
$ma_valeur = ($_POST['ma_valeur']=='' ? null : $_POST['ma_valeur']); |
|
|
00
|
|
|
#14 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 2 278 ![]() |
|
|
|
00
|
|
|
#15 |
|
Membre régulier
![]() Inscription : juillet 2004 Messages : 393 ![]() |
je viens de faire :
Code :
$rst_prix_formule = ( $_POST['rst_prix_formule']=='' ? null : $_POST['rst_prix_formule']); Il doit bien y avoir un moyen de convertir les valeurs vides en NULL et non en 0 ? |
|
|
00
|
|
|
#16 | ||
|
Membre chevronné
![]() Inscription : juillet 2003 Messages : 625 ![]() |
petit test mais peut être me trompe je :
Code :
donne
__________________
Le savoir est utile que s'il est partagé par tous. /(bb|[^b]{2})/ !sleep() ? array((string)) |
||
|
|
00
|
|
|
#17 |
|
Membre Expert
![]() Inscription : janvier 2006 Messages : 951 ![]() |
Code :
$ma_valeur = ($_POST['ma_valeur']=='' ? null : $_POST['ma_valeur']); ceci n'aura pas ce problème Code :
$ma_valeur = isset($_POST['ma_valeur']) ? $_POST['ma_valeur']: null; Code :
$ma_valeur = empty($_POST['ma_valeur']) ? null : $_POST['ma_valeur']; Code :
$ma_valeur = (empty($_POST['ma_valeur']) and !is_numeric($_POST['ma_valeur']) )? null : $_POST['ma_valeur'];
__________________
PHP fait nativement la validation d'adresse électronique Utilisez le bouton résolu! |
|
|
00
|
|
|
#18 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Je trouverais le test plus logique comme ça :
Code :
$ma_valeur = (isset($_POST['ma_valeur']) && $_POST['ma_valeur'] !== '' ) ? NULL : $_POST['ma_valeur']; |
|
|
00
|
|
|
#19 | ||
|
Membre Expert
![]() Inscription : juin 2007 Messages : 2 278 ![]() |
Plutôt comme ceci alors (coquille) :
Code php :
|
||
|
|
00
|
|
|
#20 |
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Mais heu !
|
|
|
01
|
Copyright © 2000-2012 - www.developpez.com