I min databas och i tabellen har jag ett fält som är av typen 'text'. När man lägger till en ny rad i tabllen blir fältet tomt.
När jag sedan kör ett script (fältnamn+1) så funkar det inte. Bara för att fältet är tomt, men om jag lägger dit en 1:a så funkar det, det funkar dock inte om fältet innehåller en 0:a.
Varför är det så? Och hur kan jag fixa detta?
K@llenMedlem sedan mars 20032 667 inlägg Byt datatyp till någon integer-variant om du ska lagra numeriska värden. :)
Jag testade att byta till INT, men det spelar ingen roll. Blir endå fel. Även fast värdet är 0 måste den väl kunna plussa på 1 så att värdet blir 1 ?
aasahMedlem sedan mars 20034 471 inlägg Jo det spelar stor roll. Om du har heltal ska du lagra det som någon integer-variant. Dels tar det mycket mindre minne, dels går jämförelser mycket fortare, aritmetik funkar och sortering blir rätt.
Om inget lagras i kolumnen blir värdet inte 0 det blir NULL och NULL kan du inte räkna med. Se till att sätta kolumnen när du lägger in, om inte annat så via ett defaultvärde. Om där verkligen står 0 borde +1 funka...
Fast detta hör väl mer hemma i SQL...
Ok, så att om jag byter från TEXT till INT och anger 0 som default värde borde det funka?
Fan vad skumt, för det vägrar att fungera. Mitt script är ju OK också.
<?php
// Open the database
require '../inc/db.php';
// Edit
mysql_query("UPDATE Participants SET active = '1' WHERE id = '$id'") or die (mysql_error());
// Update seasons in RMR
mysql_query("UPDATE Players SET seasons = seasons+1 WHERE id = '$id'") or die (mysql_error());
?>
<script type="text/javascript">
self.location.replace('players-waiting.php');
</script>
@ndersMedlem sedan juni 200032 969 inlägg Du får inget felmeddelande, det bara uppdateras inte? :o