anoniem Geplaatst: 8 oktober 2004 Delen Geplaatst: 8 oktober 2004 G'day, Ik heb het volgende script (dit is een fragment ervan):[code:1:0d1aed6183] $res = mysql_query ("SELECT * FROM klas6b_users WHERE username='$username' AND password=md5('$password')", $db); if (mysql_num_rows ($res) != 0) { $ligne = mysql_fetch_object ($res); mysql_query ("UPDATE klas6b_users SET last_date_time=now() WHERE id='$ligne->id' LIMIT 1", $db); mysql_query ("UPDATE klas6b_users SET last_ip='$REMOTE_ADDR' WHERE id='$ligne->id' LIMIT 1", $db); session_register ("cookie_klas6b_id"); $cookie_klas6b_id = $ligne->id;[/code:1:0d1aed6183]Het probleem ligt in de eerste UPDATE query. Hier zou hij het veld last_date_time moeten veranderen naar de huidige datum. Dit doet hij zonder probleem. Het probleem is dat hij dit OOK DOET MET EEN ANDER VELD, namelijk het veld dob (= Date Of Birth voor de nieuwsgierigen). De twee velden zijn "timestamp(14)" maar er is zo nog een ander veld (namelijk date_time) waar hij niets verkeerds mee doet, hij verandert dat niet. Ik dacht: er staat ergens een query teveel die dat andere veld veranderd maar neen hoor, als ik de regel vercommentariseer (eer dus // voorzet :wink: ) dan zal hij dit niet meer doen, dan wordt bij het aanmelden enkel het veld last_ip veranderd. Ik zie niet in hoe dit mogelijk is, weet iemand raad? Greetz, BelgiumBoy_007 Quote Link naar reactie
anoniem Geplaatst: 9 oktober 2004 Auteur Delen Geplaatst: 9 oktober 2004 Het datatype [i:62d266fbc8]timestamp [/i:62d266fbc8]is je probleem. Kolommen met dit datatype zullen automatisch bijgewerkt worden naar de huidige datum/tijd bij een insert of update. Het datatype is dus alleen bruikbaar om een markering aan te brengen voor een wijziging in een row en niet voor het vastleggen van datum/tijd waarden, daarvoor zijn andere datum/tijd types aanwezig. De kolommen wijzigen naar DATE(TIME) zal het probleem oplossen. Quote Link naar reactie
anoniem Geplaatst: 9 oktober 2004 Auteur Delen Geplaatst: 9 oktober 2004 Kan je me dan eens uitleggen waarom hij enkel met het veld last_date_time en dob doet en niet met het veld date_time? Het zijn bijden timestamps :-? Quote Link naar reactie
anoniem Geplaatst: 9 oktober 2004 Auteur Delen Geplaatst: 9 oktober 2004 Alleen het eerste veld in een tabel met het datatype timestamp wordt bij een insert of update actie automatisch door MySQL bijgewerkt. Verander de volgorde van je velden en je probleem is opgelost. Quote Link naar reactie
anoniem Geplaatst: 10 oktober 2004 Auteur Delen Geplaatst: 10 oktober 2004 Wat een stom systeem :P Ik heb het datatype veranderd naar DATETIME en het probleem is inderdaad weg. Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen