Word ik hiervoor gedegradeerd?
$sql = "UPDATE skills SET level = level+1 WHERE id = $id";
$result = $db->sql_query($sql);
$db->sql_freeresult($result);
In het specifieke geval van Teifion vermeldt de phpBB DDL dat specifieke veld als NOT NULL, dus er is geen gevaar dat NULL wordt verhoogd.
In het algemeen moet u NULL niet gebruiken om nul weer te geven. NULL verhogen zou geef een antwoord van NULL. Als je het soort misleide ontwikkelaar bent die denkt dat NULL=0, stap weg van het toetsenbord en zoek een ander tijdverdrijf, dan maak je het leven van de rest van ons gewoon moeilijk. Dit is natuurlijk de computerindustrie en wie zijn wij om te zeggen dat je ongelijk hebt? Als je het niet bij het verkeerde eind hebt, gebruik dan
$sql = "UPDATE skills SET level = COALESCE(level,0)+1 WHERE id = $id";
...maar laten we eerlijk zijn:je hebt het mis. Als iedereen op niveau 0 begint, moet je DDL
. bevattenlevel INT DEFAULT '0' NOT NULL
voor het geval de programmeurs vergeten het in te stellen wanneer ze een record maken. Als niet iedereen op niveau 0 begint, sla dan de STANDAARD over en dwing de programmeur om een waarde op te geven bij het maken. Als sommige mensen boven niveaus staan, voor wie het hebben van een niveau zinloos is, dan heeft het ook geen zin om er een aan hun niveau toe te voegen. Laat in dat geval de NOT NULL van de DDL vallen.