webForumDet fria alternativet

Spelar det någon roll?

8 svar · 266 visningar · startad av streetrobban

streetrobbanMedlem sedan jan. 20011 140 inlägg
#1

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
#2

Byt datatyp till någon integer-variant om du ska lagra numeriska värden. :)

streetrobbanMedlem sedan jan. 20011 140 inlägg
#3

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
#4

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...

streetrobbanMedlem sedan jan. 20011 140 inlägg
#5

Ok, så att om jag byter från TEXT till INT och anger 0 som default värde borde det funka?

NiklassonMedlem sedan nov. 2000857 inlägg
#6

Flyttas från PHP...

@ndersMedlem sedan juni 200032 969 inlägg
#7

streetrobban skrev:

Ok, så att om jag byter från TEXT till INT och anger 0 som default värde borde det funka?

Japp.

streetrobbanMedlem sedan jan. 20011 140 inlägg
#8

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
#9

Du får inget felmeddelande, det bara uppdateras inte? :o

129 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)