<?php
$query = "
SELECT houdbaar
FROM ......";
$houdbaar = mysql_query($query);
if($houdbaar > 0)
{
$sql = mysql_query("UPDATE .... SET houdbaar = houdbaar - 1");
}
//en als dat niet zo is,, gaat hij verder zonder iets anders te doen
?>
[edit]
hier zit nog geen foutafhandeling in
UPDATE
tabelnaam
SET
houdbaar = houdbaar - 1
WHERE
houdbaar > 0
Wanneer 'houdbaar' een integer is, zul je met deze update-query nooit negatieve getallen krijgen. Tevens krijg je geen foutmelding wanneer de waarde reeds 0 is, met een UNSIGNED gebeurt dat wel. (kan overigens wenselijk zijn, ligt aan jouw situatie.)
Tevens krijg je geen foutmelding wanneer de waarde reeds 0 is, met een UNSIGNED gebeurt dat wel.
Ik weet het niet zeker, maar volgens mij geeft MySQL hier standaard weer eens geen foutmelding.
Ik weet zeker dat MySQL een ***BEEEEEEP*** product is maar ik krijg hier lokaal (God zij dank!) toch een foutmelding op een negatieve waarde op een unsigned integer:
Warning: #1264 Out of range value adjusted for column 'id' at row 1