Phpbb hs :(

WRInaute impliqué
Je viens chercher un coup de main parce que là je comprend pas !

Quand j'ouvre un de mes forums (phpbb) j'ai le droit à ca :

Code:
phpBB : Critical Error

Error doing DB query userdata row fetch

DEBUG MODE

SELECT u.*, s.* FROM phpbb_sessions s, phpbb_users u WHERE s.session_ip = '52420e88' AND s.session_user_id = -1 AND u.user_id = s.session_user_id LIMIT 0, 1

Line : 314
File : /home/ideezik/www/mii/includes/sessions.php

Sachant que le forum tourne nickel depuis 6 mois. Url Rewriting fait et jamais de problème. :cry:

Une idée ?
 
WRInaute impliqué
Ouais ! Cool ! :lol:

Non j'ai rien fait récemment. Mis à part de l'administration normale phpbb. Pas touché au code.

Ce que je comprend pas c'est que vu que j'ai vidé la table session, il va jamais la trouver la valeur :

Code:
WHERE s.session_ip = '52420e88'

Normalement il devrait passer dans un else non ?
 
WRInaute impliqué
Code:
// try to login guest
	      $sql = "SELECT u.*, s.*
	         FROM " . SESSIONS_TABLE . " s, " . USERS_TABLE . " u
	         WHERE s.session_ip = '$user_ip'
	            AND s.session_user_id = " . ANONYMOUS . "
	            AND u.user_id = s.session_user_id
	               LIMIT 0, 1";

Quelqu'un pourrait me donner le code qu'il a dans son fichier includes/session.php ?

Le fait que s.session_user_id soit dans une chaine de caractères entre " me parait bizarre. Mais pourquoi ca planterait que maintenant ???
 
WRInaute accro
j'ai ça chez moi

Code:
$sql = "SELECT u.*, s.*
			FROM " . SESSIONS_TABLE . " s, " . USERS_TABLE . " u
			WHERE s.session_id = '$session_id'
				AND u.user_id = s.session_user_id";
 
WRInaute impliqué
Mahe, tu as le hack rewriting qui est en post it sur WRI ? Parce que je pense que les différences de code viennent de la. A moins que ce soit la version du phpbb. 2.0.6 chez moi

Kali oui mais sur quelle table ? Session ? Celle que je viens de vider ?
 
WRInaute impliqué
Oui. Dans cet ordre.

Toujours la même erreur.

Ca peut quand meme pas venir de l'hebergeur ? Je sais pas vu que moi j'ai rien changé.
 
WRInaute impliqué
Réinstalle un phpbb dans un autre répertoire et fait le pointer, une fois l'install faite, vers ton ancienne base ? pour voir si c'est la base ou le forum ?
 
WRInaute impliqué
Résultat :

Ca marche avec un code neuf. J'ai pas réinstaller j'avais peur qu'il me refasse les create table. J'ai juste édité le fichier config.php

Bon, bah j'ai plus qu'a remettre tous les fichiers que j'avais modifié un par un et voir ou ca plante.

Demain je crois :!:
 
WRInaute impliqué
Ca vaut le coup ? Quoi de mieux ?

Parce que je suis entrain de refaire sur une base de 2.0.6 là... donc faut que je me décide vite !
 
WRInaute impliqué
Bon, je suis entrain de remonter le forum. Finalement sur la base du 2.0.6 tant pis... Je gère l'urgence !
J'ai pas encore remis l'UR sachant qu'en fait, c'est sur ce morceau que le code plante :?

Code:
#-----[ AVANT, AJOUTER ]---------------------------------------
#
   elseif(empty($sessiondata))
   {
      // try to login guest
      $sql = "SELECT u.*, s.*
         FROM " . SESSIONS_TABLE . " s, " . USERS_TABLE . " u
         WHERE s.session_ip = '$user_ip'
            AND s.session_user_id = " . ANONYMOUS . "
            AND u.user_id = s.session_user_id
               LIMIT 0, 1";
      if ( !($result = $db->sql_query($sql)) )
      {
         message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);
      }

      $userdata = $db->sql_fetchrow($result);

      if ( isset($userdata['user_id']) )
      {
         if ( $current_time - $userdata['session_time'] > 60 )
         {
            $sql = "UPDATE " . SESSIONS_TABLE . "
               SET session_time = $current_time, session_start = $current_time, session_page = 0
               WHERE session_id = '" . $userdata['session_id'] . "'";
            if ( !$db->sql_query($sql) )
            {
               message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql);
            }
         }
         return $userdata;
      }
   }

J'ai du mal à comprendre pourquoi ce code se mettrait à planter du jour au lendemain quand meme ! Quelqu'un a eu un problème récemment ?
 
WRInaute impliqué
C'est pas si vieux que ca non plus.... Sur la communauté fr, on est à la 2.0.8 il me semble. Si tu me dit ca intègre l'UR direct, je change tout de suite :wink:
 
Discussions similaires
Haut