Index
Forums
Annuaire
Référencement
Télécharger
  phpBB SEO : Référencement Google, MSN, Yahoo, Annuaires, Forums  
phpBB SEO
Boards
Directory  
SEO  
Downloads
 
  Rechercher Search
    S'enregistrer
Pseudo :  Passe :  Auto  
Register  
 
   
Erreur 1064

 
Poster un nouveau sujet   Répondre au sujet    phpBB SEO » Forum Référencement  » Le Forum phpBB
::  
Auteur Message
django21



Inscrit le: 09 Jan 2008
Messages: 39

Erreur 1064Posté le: Mar Oct 14, 2008 7:50 am    Sujet du message: Erreur 1064

Bonjour,

j'ai malencontreusement effacé un admin de la BD de mon forum il y a de ça quelque temps.

il s'est réinscrit, et dans l'ordre: je l'ai remis en administrateur dans les permissions des utilisateurs,puis via la BD (phpmyadmin) je lui ai redonné son ID et les posts qui lui appartenaient avant.

Il a donc recupéré son nombre de post son ID sa couleur (RCS) dans les posts.

Tout me semblait donc parfait jusqu'à ce que je veuille lui changer ses permissions dans l'onglet administration des utilisateur.

C'est le seul membre avec qui ça pose problème, voici le message d'erreur lorsque je veux lui changer une permission:

Couldn't delete auth access info

DEBUG MODE

Citation:
SQL Error : 1064 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 'AND auth_mod = 0' at line 3

DELETE FROM phpbb_auth_access WHERE group_id = AND auth_mod = 0

Line : 200
File : admin_ug_auth.php


ce qui correspond à cette partie de mon fichier admin_ug_auth.php :


Code:
//
      // Make user an admin (if already user)
      //
      if ( $userdata['user_id'] != $user_id )
      {
         $sql = "UPDATE " . USERS_TABLE . "
            SET user_level = " . ADMIN . "
            WHERE user_id = $user_id";
         if ( !($result = $db->sql_query($sql)) )
         {
            message_die(GENERAL_ERROR, 'Could not update user level', '', __LINE__, __FILE__, $sql);
         }

         $sql = "DELETE FROM " . AUTH_ACCESS_TABLE . "
            WHERE group_id = $group_id
               AND auth_mod = 0";
         if ( !($result = $db->sql_query($sql)) )
         {
            message_die(GENERAL_ERROR, "Couldn't delete auth access info", "", __LINE__, __FILE__,

$sql);
         }

         //
         // Delete any entries in auth_access, they are not required if user is becoming an
         // admin



Lorsque je veux le remttre en utilisateur normal toujours via les permissions de l'onglet administration des utilisateurs voici le message d'erreur qu'il me met:

Citation:
Couldn't update private forum permissions

DEBUG MODE

SQL Error : 1064 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 ' 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0)' at line 2

INSERT INTO phpbb_auth_access (forum_id, group_id, auth_view, auth_read, auth_post, auth_reply, auth_edit, auth_delete,

auth_sticky, auth_announce, auth_vote, auth_pollcreate, auth_ban, auth_greencard, auth_bluecard, auth_attachments,

auth_download, auth_mod) VALUES (29, , 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0)

Line : 447
File : admin_ug_auth.php



ce qui correspond à cette partie de mon fichier admin_ug_auth.php :

Code:
// Checks complete, make updates to DB
         //
         $delete_sql = '';
         while( list($forum_id, $action) = @each($forum_auth_action) )
         {
            if ( $action == 'delete' )
            {
               $delete_sql .= ( ( $delete_sql != '' ) ? ', ' : '' ) . $forum_id;
            }
            else
            {
               if ( $action == 'insert' )
               {
                  $sql_field = '';
                  $sql_value = '';
                  while ( list($auth_type, $value) = @each($update_acl_status[$forum_id]) )
                  {
                     $sql_field .= ( ( $sql_field != '' ) ? ', ' : '' ) . $auth_type;
                     $sql_value .= ( ( $sql_value != '' ) ? ', ' : '' ) . $value;
                  }
                  $sql_field .= ( ( $sql_field != '' ) ? ', ' : '' ) . 'auth_mod';
                  $sql_value .= ( ( $sql_value != '' ) ? ', ' : '' ) . ( ( !isset

($update_mod_status[$forum_id]) ) ? 0 : $update_mod_status[$forum_id]);

                  $sql = "INSERT INTO " . AUTH_ACCESS_TABLE . " (forum_id, group_id,

$sql_field)
                     VALUES ($forum_id, $group_id, $sql_value)";
               }
               else
               {
                  $sql_values = '';
                  while ( list($auth_type, $value) = @each($update_acl_status[$forum_id]) )
                  {
                     $sql_values .= ( ( $sql_values != '' ) ? ', ' : '' ) . $auth_type

. ' = ' . $value;
                  }
                  $sql_values .= ( ( $sql_values != '' ) ? ', ' : '' ) . 'auth_mod = ' . (

( !isset($update_mod_status[$forum_id]) ) ? 0 : $update_mod_status[$forum_id]);

                  $sql = "UPDATE " . AUTH_ACCESS_TABLE . "
                     SET $sql_values
                     WHERE group_id = $group_id
                        AND forum_id = $forum_id";
               }
               if( !($result = $db->sql_query($sql)) )
               {
                  message_die(GENERAL_ERROR, "Couldn't update private forum permissions",

"", __LINE__, __FILE__, $sql);
               }
            }
         }

         if ( $delete_sql != '' )
         {
            $sql = "DELETE FROM " . AUTH_ACCESS_TABLE . "
               WHERE group_id = $group_id
                  AND forum_id IN ($delete_sql)";
            if( !($result = $db->sql_query($sql)) )
            {
               message_die(GENERAL_ERROR, "Couldn't delete permission entries", "", __LINE__,

__FILE__, $sql);
            }
         }

         $l_auth_return = ( $mode == 'user' ) ? $lang['Click_return_userauth'] : $lang

['Click_return_groupauth'];
         $message = $lang['Auth_updated'] . '<br /><br />' . sprintf($l_auth_return, '<a href="' .

append_sid("admin_ug_auth.$phpEx?mode=$mode") . '">', '</a>') . '<br /><br />' . sprintf($lang

['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>');
      }

      //
      // Update user level to mod for appropriate users
      //



Je ne pense pas que ce soit un réel problème de syntaxe, vu que ça fonctionne pour tous les autres membres, modos et admins,
mais plutôt une trace de son bannissement qui doit rester dans une des tables...

Si vous pouviez me donner un coup de main , ça serait vraiment sympa...

merci à tous et excellente journée Wink
Revenir en haut de page
dcz
Administrateur - Site Admin
Administrateur - Site Admin


Inscrit le: 28 Avr 2006
Messages: 15380

Erreur 1064Posté le: Sam Oct 18, 2008 12:07 pm    Sujet du message: Re: Erreur 1064

Donc tu as effacé le membre depuis l'acp de phpBB2, c'est bien ça ?

Cela expliquerait qu'en plus de l'utilisateur, les références aux groupes aient été également effacé pour l'utilisateur, et du coup tes erreurs : .
Code:
WHERE group_id = AND auth_mod = 0


Il n'y a aucune valeur pour l'id de groupe, et c'est la même erreur dans les deux requêtes.

Donc le problème semble être qu'en modifiant l'id de l'utilisateur pour lui réattribuer ses ancien posts, tu ne mets pas a jour les tables qui dépendent de cette valeur, au moins la table phpbb_auth_access et donc vraisemblablement la table phpbb_user_group.

Essayes donc dans un premier temps de modifier la valeur de user_id pour le group_id de nouveau compte que tu as créé avant de lui réattribuer l'ancienne id de l'admin dans la table phpbb_user_group. Il faut donc simplement trouver l'entrée ayant l'user_id que tu as modifié dans cette table et la mettre à jour.

Il se pourrait que ça suffise, mais je te conseille vivement de tester cela en local et de bien faire des sauvegarde de ta db avant.

++

_________________
Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche
Revenir en haut de page
Visiter le site web de l'utilisateur
django21



Inscrit le: 09 Jan 2008
Messages: 39

Erreur 1064Posté le: Mar Oct 21, 2008 6:20 am    Sujet du message: Re: Erreur 1064

dcz a écrit:
Donc tu as effacé le membre depuis l'acp de phpBB2, c'est bien ça ?
++


Bonjour,

oui en quelque sorte c'est bien ça, j'avais installé un mod qui soit disant empêchait les admins de se faire bannir..
Je donc testé le bannissement depuis le pca, et c'est là que j'ai foiré... Laughing Laughing Laughing

dcz a écrit:
Il faut donc simplement trouver l'entrée ayant l'user_id que tu as modifié dans cette table et la mettre à jour.

Il se pourrait que ça suffise, mais je te conseille vivement de tester cela en local et de bien faire des sauvegarde de ta db avant.

++


Je veux bien, mais comment je fais pour savoir quel ID il avait avant??

Pour lui redonner ces posts, j'ai fais une requete sql qui ressemblait a ceci:

Code:
UPDATE `nom BDD`.`phpbb_posts` SET `poster_id` = '3' WHERE `post_username` = 'pseudo admin effacé'


Et pour lui redonner son ID, je suis aller dans la table user puis je lui ai changé son ID (je lui ai remi l'ID = 3)...

Si tu as une idée Question Idea

Merci à toi Wink
Revenir en haut de page
dcz
Administrateur - Site Admin
Administrateur - Site Admin


Inscrit le: 28 Avr 2006
Messages: 15380

Erreur 1064Posté le: Dim Oct 26, 2008 11:28 am    Sujet du message: Re: Erreur 1064

Et bien, si tu n'as pas effacé l'entrée correspondant au profile temporaire dans la table user, tu peux retrouver son ID à partir de son pesudo.

Au pire tu peux essayer d'ajouter une entrée dans la table phpbb_user_group avec comme user_id 3 et comme group_id la plus grande ID actuelle + 1 ou une valeur plus petite non utilisée.

Encore une fois, a tester avant d'envoyer en ligne.

++

_________________
Useful links :
SEO Forum || SEO Directory || SEO phpBB || SEO phpBB3 || Search
____________________

Liens Utiles :
Forum référencement || Annuaire référencement || Référencement phpBB || Référencement phpBB3 || Recherche
Revenir en haut de page
Visiter le site web de l'utilisateur
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    phpBB SEO » Forum Référencement  » Le Forum phpBB
Page 1 sur 1

Navigation Autres sujets de discussion

Sauter vers: