Ik geef het maar meteen toe: ik ben een redelijke noob op het gebied van PHP en MySQL, maar tot nu toe heb ik er me er altijd wel uit weten te redden. Nu dus niet...
Wat is het probleem? Wel nu, ik heb een inschrijfformulier wat ik dus wil opslaan in een database.
Het is ook niet echt een professionele tabel, dus geen tabel inschrijving en een tabel ingeschrevenen die naar de inschrijving verwijst of iets dergelijks, gewoon één tabel met daarin 4 personen en wat rand gegevens. Het vullen op basis van de formuliergegevens gaat allemaal prima.
Daarnaast wil ik achterhalen hoeveel personen ik nu daadwerkelijk kan verwachten. Dus ik count gewoon de kolommen en de velden die NULL zijn worden dan automatisch niet meegenomen. Werkt ook goed. Wat nu het probleem is dat wanneer een veld leeg is dus NULL ingevuld moet worden in de database en niet een lege string. Het veld is als volgt gedefinieerd: VARCHAR, 100, NULL, default NULL. Dat heb ik proberen op te vangen door middel van onderstaand script:
Die $IN1 wordt dan omsloten met '' in een query gestopt. Op deze manier blijft er een lege string in de database gevuld worden. Terwijl hij wel degelijk in de THEN terecht komt, want dat heb ik uitgetest met een print(). Wanneer ik alleen NULL ingeef zonder de '' dan gaat het dus wel goed.
Hoe kan ik toch NULL invoeren in een textveld?
Wat is het probleem? Wel nu, ik heb een inschrijfformulier wat ik dus wil opslaan in een database.
Het is ook niet echt een professionele tabel, dus geen tabel inschrijving en een tabel ingeschrevenen die naar de inschrijving verwijst of iets dergelijks, gewoon één tabel met daarin 4 personen en wat rand gegevens. Het vullen op basis van de formuliergegevens gaat allemaal prima.
Daarnaast wil ik achterhalen hoeveel personen ik nu daadwerkelijk kan verwachten. Dus ik count gewoon de kolommen en de velden die NULL zijn worden dan automatisch niet meegenomen. Werkt ook goed. Wat nu het probleem is dat wanneer een veld leeg is dus NULL ingevuld moet worden in de database en niet een lege string. Het veld is als volgt gedefinieerd: VARCHAR, 100, NULL, default NULL. Dat heb ik proberen op te vangen door middel van onderstaand script:
PHP:
1
2
3
4
5
6
7
8
| $X = "x"; $IN1 = $_POST[intro1]; $TEST = $IN1.$X; if( $TEST == $X) { $IN1 = NULL; } |
Die $IN1 wordt dan omsloten met '' in een query gestopt. Op deze manier blijft er een lege string in de database gevuld worden. Terwijl hij wel degelijk in de THEN terecht komt, want dat heb ik uitgetest met een print(). Wanneer ik alleen NULL ingeef zonder de '' dan gaat het dus wel goed.
Hoe kan ik toch NULL invoeren in een textveld?