Pagina 1 van 1
Critical Error
Geplaatst: 09 okt 2006, 11:00
door Niels-21
Hallo,
Na het uitvoeren van de SQL van de Last Visit mod krijg ik nu soms deze melding:
Code: Selecteer alles
phpBB : Critical Error
Error updating sessions table
DEBUG MODE
SQL Error : 1064 You have an error in your SQL syntax near ' user_totalpages = user_totalpages+1, user_totaltime = user_totaltime+(116038783' at line 2
UPDATE phpbb_users SET user_session_time = 1160387835, user_session_page = , user_totalpages = user_totalpages+1, user_totaltime = user_totaltime+(1160387835-1160387765)0 WHERE user_id = 2
Line : 362
File : sessions.php
Kan je SQL ook ongedaan maken? Want zo'n melding is irritant op den duur. Telkens als ik de SQL opnieuw uitvoer, zegt-ie dat sommige tabellen zijn geüpdate, terwijl ze op zich al geüpdate zouden moeten zijn.
Geplaatst: 09 okt 2006, 16:15
door Paul
Je hebt sessions.php gewoon evrkeerd gemod

Geplaatst: 09 okt 2006, 16:16
door Niels-21
paul schreef:Je hebt sessions.php gewoon evrkeerd gemod

Echt?
Ga ik ff checken (weet je ook op welke mod, Last Visit waarschijnlijk).
Geplaatst: 09 okt 2006, 16:16
door Paul
Last visit denk ik...
Geplaatst: 09 okt 2006, 16:22
door Niels-21
Sessions.php is goed gemod (volgens Last Visit Mod).
Wat kan ik nu raadplegen?
Geplaatst: 09 okt 2006, 16:35
door svenn
ik vrees van niet want ik zie :
user_session_page = , user_totalpages = user_totalpages+1, user_totaltime = user_totaltime+(1160387835-1160387765)0 WHERE user_id = 2
ik denk dat je de code voor de komma zetten en dat hij erna moet

post eens een stukje rond 362 van sessions.php
Geplaatst: 09 okt 2006, 16:38
door Niels-21
360 t/m 370 van sessions.php:
Code: Selecteer alles
WHERE user_id = " . $userdata['user_id'];
if ( !$db->sql_query($sql) )
{message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql);
}
//}
session_clean($userdata['session_id']);
setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);
setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);
}
Geplaatst: 09 okt 2006, 16:40
door svenn
ja een beetje erboven graag

Geplaatst: 09 okt 2006, 16:41
door Niels-21
Excuus! Iets meer code:
Code: Selecteer alles
//
// Only update session DB a minute or so after last update
//
if ( $current_time - $userdata['session_time'] > 60 )
{
// A little trick to reset session_admin on session re-usage
$update_admin = (!defined('IN_ADMIN') && $current_time - $userdata['session_time'] > ($board_config['session_length']+60)) ? ', session_admin = 0' : '';
$sql = "UPDATE " . SESSIONS_TABLE . "
SET session_time = $current_time, session_page = $thispage_id$update_admin
WHERE session_id = '" . $userdata['session_id'] . "'";
if ( !$db->sql_query($sql) )
{
message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql);
}
//if ( $userdata['user_id'] != ANONYMOUS )
//{
$sql = "UPDATE " . USERS_TABLE . "
SET user_session_time = $current_time, user_session_page = , user_totalpages = user_totalpages+1, user_totaltime = user_totaltime+($current_time-".$userdata['session_time'].")$thispage_id
WHERE user_id = " . $userdata['user_id'];
if ( !$db->sql_query($sql) )
{message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql);
}
//}
session_clean($userdata['session_id']);
setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);
setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);
}
// Add the session_key to the userdata array if it is set
if ( isset($sessiondata['autologinid']) && $sessiondata['autologinid'] != '' )
{
$userdata['session_key'] = $sessiondata['autologinid'];
}
return $userdata;
}
}
}
Geplaatst: 09 okt 2006, 16:43
door svenn
Code: Selecteer alles
//
// Only update session DB a minute or so after last update
//
if ( $current_time - $userdata['session_time'] > 60 )
{
// A little trick to reset session_admin on session re-usage
$update_admin = (!defined('IN_ADMIN') && $current_time - $userdata['session_time'] > ($board_config['session_length']+60)) ? ', session_admin = 0' : '';
$sql = "UPDATE " . SESSIONS_TABLE . "
SET session_time = $current_time, session_page = $thispage_id$update_admin
WHERE session_id = '" . $userdata['session_id'] . "'";
if ( !$db->sql_query($sql) )
{
message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql);
}
//if ( $userdata['user_id'] != ANONYMOUS )
//{
$sql = "UPDATE " . USERS_TABLE . "
SET user_session_time = $current_time, user_session_page = $thispage_id, user_totalpages = user_totalpages+1, user_totaltime = user_totaltime+($current_time-".$userdata['session_time'].")
WHERE user_id = " . $userdata['user_id'];
if ( !$db->sql_query($sql) )
{message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql);
}
//}
session_clean($userdata['session_id']);
setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);
setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);
}
// Add the session_key to the userdata array if it is set
if ( isset($sessiondata['autologinid']) && $sessiondata['autologinid'] != '' )
{
$userdata['session_key'] = $sessiondata['autologinid'];
}
return $userdata;
}
}
}
probeer eens met deze

Geplaatst: 09 okt 2006, 16:45
door Niels-21
Gedaan!
Werkt goed, nog geen error gezien. Wat heb je gedaan dan?
Geplaatst: 09 okt 2006, 16:49
door svenn
zoals ik zei :
SET user_session_time = $current_time, user_session_page = , user_totalpages = user_totalpages+1, user_totaltime = user_totaltime+($current_time-".$userdata['session_time'].")$thispage_id
moest zijn :
SET user_session_time = $current_time, user_session_page = $thispage_id, user_totalpages = user_totalpages+1, user_totaltime = user_totaltime+($current_time-".$userdata['session_time'].")
Geplaatst: 09 okt 2006, 16:50
door Niels-21
Oké, nou thanx!
Vreemd dat ie het dan de ene keer wel en de andere keer niet doet.
Geplaatst: 09 okt 2006, 16:52
door svenn
ja idd ; maar dit vind ik ook vreemd :
Code: Selecteer alles
SET session_time = $current_time, session_page = $thispage_id$update_admin
2 variabele na elkaar :s maar kan zijn dat het een gaatje in mijn php cultuur is

Geplaatst: 09 okt 2006, 16:53
door Niels-21
svennson schreef:ja idd ; maar dit vind ik ook vreemd :
Code: Selecteer alles
SET session_time = $current_time, session_page = $thispage_id$update_admin
2 variabele na elkaar :s maar kan zijn dat het een gaatje in mijn php cultuur is

Daarvan is mijn kennis echt nihil, dus daar kan ik niet over oordelen.
Geplaatst: 09 okt 2006, 17:14
door Paul
svennson schreef:ja idd ; maar dit vind ik ook vreemd :
Code: Selecteer alles
SET session_time = $current_time, session_page = $thispage_id$update_admin
2 variabele na elkaar :s maar kan zijn dat het een gaatje in mijn php cultuur is

Zal wel een aardig groot gaatje zijn, want dat klopt gewoon

Geplaatst: 09 okt 2006, 17:42
door svenn
nog nooit gebruikt dus

ik zet meestal een puntje.
Geplaatst: 09 okt 2006, 17:57
door Paul
Tja, maar dit is in een string, dus dan zet je een punt in een string
