J'ai un petit problème à cause de ma db postgresql 8.
Le problème est le suivant :
je traite un formulaire qui m'envoie la valeur de plusieurs champs "nombre".
$nombre1 = $_POST["nombre1"];
$nombre2 = $_POST["nombre2"];
$nombre3 = $_POST["nombre3"];
$nombre4 = $_POST["nombre4"];
dans ma db, ces champs sont de type integer sans restriction càd null.si l'utilisateur entre quelque chose j'aurais
- soit la valeur du champ nombre
- soit le vide.
J'effectue une requete d'INSERT
$rq = "INSERT INTO table (nombre1,nombre2,nombre3,nombre4,) VALUES ('$nombre1','$nombre2','$nombre3','$nombre4')";
$sql = pg_query($rq);
A ce moment j'ai une erreur comme quoi le champ de type integer ne peut pas recevoir la valeur '' (qui est le vide). En fait, ce sont les simples cot qui m'embêtent. Le problème c'est que si je les mets pas, j'ai une syntaxe erreur.J'ai essayé ça :
if (empty($_POST["nombre1"])) { $nombre1 = null; } else { $nombre1 = $_POST["nombre1"]; }
Mais les simples cot empêchent là aussi la valeur null d'être insérée...A moins de faire 4 requêtes séparées en testant avant si la valeur du la variable est vide, je ne vois pas comment faire... Est-ce la seule solution ?
Note: dans la version antérieure de postgresql, le problème ne se posait pas. je suppose qu'il ont rendu le typage des champs plus strict...
Merci d'avance.