Gå til innhold

Problem med å legge til tid i database-felt med time()


Anbefalte innlegg

Hei! Jeg har skrevet dette lille scriptet som skal finne ut hvor lang tid det er siden sist mysql-feltet ble oppdatert og dermed oppdatere det med en gitt tid (f.eks. time() - 15 som altså blir tiden for 15 sekunder siden.)...

Her er scriptet:

 

// INSERT NEW POINTS TO THE USER EVERY HOUR
$update_time_space = 1;
$point_increasement = 5;
if (time() > ($user['points_updated'] + $update_time_space)) {

$time_past = time() - $user['points_updated'];
$number_to_round = $time_past / $update_time_space;
$round = (int)($number-0.5);
$new_points = $round * $point_increasement;
mysql_query("UPDATE users SET points = '" . $user['points'] + $new_points . "', points_updated = '" . $user['points_updated'] + ($round * $update_time_space) . "' WHERE user_id = '" . $user['user_id'] . "'");

}

if (!isset($user['points_updated']) or $user['points_updated'] = '' or $user['points_updated'] = '0') {
mysql_query("INSERT INTO users (points, points_updated) VALUES ('" . $new_points . "', '" . $user['points_updated'] + ($round * $update_time_space) . "') WHERE user_id = '" . $user['user_id'] . "'") or die(mysql_error());
}

 

Problemet er at ingenting blir lagt til i tabellen. MySQL-feltet heter points_updated og er av typen TIMESTAMP, men jeg lurer på om det kanskje bør endres... Er det noen som vet hva som kan være galt?

Endret av Rinox
Lenke til kommentar
Videoannonse
Annonse

Takk, det var visst en liten slurvefeil, men da jeg fikset den fikk jeg i alle fall opp en mysql error:

 

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '1230433819')' at line 1

 

Tallet 1230433819 er verdien som ble lagt inn i følgende spørring:

 

mysql_query("INSERT INTO users (points, points_updated) 
			VALUES ('" . $new_points . "', '" . $user['points_updated'] + ($round * $update_time_space) . "')") or die(mysql_error());

 

Skjønner ikke hva som kan være galtmed spørringen..

Endret av Rinox
Lenke til kommentar

unnskyld, men er det bare jeg som reagerer på at timestampen der er fra Sun, 28 Dec 2008?

Kanskje stille klokka ;)

Men for å gå litt ontopic, sikker på at det er den spørringen?

skriv litt før mysql_error() som sier hvilken spørring det er.

 

også er det en syntax feil, gi meg et par min så skal jeg sjekke det

 

Prøvd å legge utregningene ut av spørringen?

Endret av AlecTBM
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...