Ik wil een NULL value inserten in een database. Hoe doe ik dat. Ik weet dat VALUES(NULL) een optie is, maar ik gebruik variabelen. Dus ik wil een VALUE($variabele) inserten en die moet NULL kunnen zijn. Hoe doe ik dat of kan dit niet ?
Ik heb al $variabele="\n" of "NULL" of NULL geprobeerd, maar geen daarvan werkt. Moet ik dan ingewillelede IF statements gaan maken die dan de NULL value gaan regelen ?
volgens mij werkt het bij mysql ook als je 0 invoert.

dus zoiets:

"INSERT INTO fietslog (afstand,gemiddelde,maximum) VALUES (0,0,0)";
dan kan wel zo zijn, maar hoe krijg je die 0 in een variabele...dat is het probleem wat niet gaat, want als je een variablele gebruikt in de INSERT, dan moeten er ' ' omheen staan en dan is het weer geen NULL of 0.
jammergenoeg....
om integers (getallen) en variabelen hoef je geen quotes te zetten. dat hoeft alleen bij strings.

je moet je variabelen juist buiten de quotes houden. op deze manier dus:

<?php

$afstand = 0;
$gemiddelde = 0;
$maximum = 0;

$query = "INSERT INTO fietslog (afstand,gemiddelde,maximum) VALUES (" . $afstand . "," . $gemiddelde . "," . $maximum . ")";

?>
Wat ik hierboven doe kan dus alleen wanneer er een integer in de variabelen zit. wanneer het een string is moet je dus weer enkele quotes er omheen zetten. zo dus:

<?php

$afstand = 0;
$gemiddelde = 0;
$maximum = 0;
$naam = 'pietje';

$query = "INSERT INTO fietslog (afstand,gemiddelde,maximum,naam) VALUES (" . $afstand . "," . $gemiddelde . "," . $maximum . ",'" . $naam . "')";

?>

edit: je ziet het hierboven een beetje onduidelijk maar voor $naam staat eerst een enkele quote dan een dubbele. er achter staat dus juist eerst een dubbele en dan een enkele.
ik ga het proberen en je hoort mijn uitslag of het wel/niet werkt....
Bedankt voor alle reacties to nu toe.
Erg leerzaam.
getest....

"INSERT INTO fietslog (afstand,gemiddelde,maximum) VALUES (0,0,0)";

levert geen NULL values op...
jammer.. dan zou ik het ook niet meer weten :(
ik heb het even getest. bij mij werkte het alleen op de manier die jelmer al noemde:

$variable = 'NULL';

dan komt er gewoon NULL in de database. heb je bij je velden wel ingesteld dat ze NULL mogen zijn?

Veld Type Attributen Null Standaardwaarde Extra Actie
id int(11) Nee auto_increment
datum date Nee 0000-00-00
titel varchar(100) Nee
omschrijving text Nee
afstand float Ja NULL
maximum float Ja NULL
gemiddelde float Ja NULL
metwie text Nee
Selecteer alles / Deselecteer alles Met geselecteerd:

Als je een insert doet met alleen bijvoorbeeld de datum, dan worden de andere waarden automatisch null.

Reageren