Miguel Posté 27 Mars 2006 Posté 27 Mars 2006 (modifié) Bonjour à tous Voilà j'ai un problème qui me prend la tête depuis des jours. Lorsque je veux mettre un membre "modérateur" j'ai ce message 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)' at line 2 INSERT INTO phpbb_auth_access (forum_id, group_id, auth_mod) VALUES (3, , 1) Line : 391 File : admin_ug_auth.php Je suis passé de la prémod Arkamod (phpbb) à un forum fait "main" avec plein de mod (tjs phpbb) et pour basculer la base j'ai tout d'abord enlever les tables des MODS non présent sur mon nouveau forum de cette base Arkamod, puis j'ai transferer toute la base sans la structure (donc que les données uniquement) comme conseillé sur le site de la prémod (pour eviter les incompatibilité). Mais voilà aujourd'hui impossible de mettre des modérateurs... en fait non pas tout a fait et cé ca qui est bizarre. En fait je peux mettre certain membres (et bien sur sur 3 modo voulu yen as que 1 que j'ai put mettre)! => J'ai verifier comme il est dit sur un forum pour une personne avec un cas identique ou il etait dit Citation: INSERT INTO phpbb_auth_access (forum_id, group_id, auth_mod) VALUES (1, , 1) Si on relit bien ton code, c'est évident que tu as une erreur de syntaxe car aucun group_id n'est précisé (comme l'a fait remarqué nco dès le départ). Ton code doit alors devenir : => Pourtant moi sur ma base dans phpbb_auth_access (forum_id, group_id, auth_mod) j'ai une valeure de précisé et j'ai même essayer de la changer Donc d'ou peux venir le pb ? je suis dessus depuis 2 jours non stop et je comprend rien j'ai essayer des tones de manip et j'ai meme planter mon site (puisque évidement après la bascule je l'ai ré-ouvert et que les membres y postent... et j'ai planter 2 jours de posts)bref, Je ne sais pas comment m'en sortit puisque je comprendrais si ct un probleme pour tout les membres, mais là non et plus étrange c'est un pb aléatoire, je pensais que ca concernait les membres de l'ancien site, mais non certain de l'ancien peuvent etre modo, d'autre non et inversement avec ceux inscrit depuis la bascule.... J'ai essayer de changer les valeur pour avoir pour la valeur group_id "0" dans les tables phpbb_auth_access, phpbb_groups et phpbb_users_groups ou mettre auto_incriment... mais rien n'y fait Voilà j'espère avoir suffisament détaillé le pb et que l'on peux venir a mon aide... :arrow: Ps: j'ai qqs petites questions concernant certaines tables, car en fouillant un peu je me suis demandé en fait a quoi correspond cette table phpbb_auth_acces de plus la table phpbb_groups doit-elle contenir le même nombre que phpbb_users et phpbb_users_groups parceque si oui ce n'est pas mon cas :? Merci de votre aide et n'hésiter pas a me demander des choses, même si je n'y comprend rien je ferais de mon mieux Modifié 27 Mars 2006 par Miguel
Miguel Posté 28 Mars 2006 Auteur Posté 28 Mars 2006 (modifié) Bon alors j'ai trouver finalement un fix qui se trouve sur lesite officiel de phpbb Si vous avez cette erreur en essayant de mettre à jour vos permissions ou en mettant un modérateur , voici ce qu'il faut faire : 1 / Créer un fichier fix.php, et placer ce code dans ce fichier : <?php//***** check users and user groups ****//define('IN_PHPBB', true);$phpbb_root_path = './';include($phpbb_root_path . 'extension.inc');include($phpbb_root_path . 'common.'.$phpEx);include($phpbb_root_path . 'includes/functions_search.'.$phpEx);// Start session management$userdata = session_pagestart($user_ip, PAGE_SEARCH);init_userprefs($userdata);// End session management$sql = "SELECT user_id, username FROM " . USERS_TABLE ." WHERE user_id > 0";if ( !($result = $db->sql_query($sql)) ){ message_die(GENERAL_ERROR, 'Could not obtain user list', '', __LINE__, __FILE__, $sql);}$liste ='';while ( $row = $db->sql_fetchrow($result) ){ $username = $row['username']; $user_id = $row['user_id']; $usergroup = ''; $sql1 = "SELECT ug.group_id FROM " . USER_GROUP_TABLE ." ug, ". GROUPS_TABLE. " g WHERE ug.user_id = $user_id AND ug.group_id = g.group_id AND g.group_single_user = 1 "; if ( ($result1 = $db->sql_query($sql1)) ) { $row1 = $db->sql_fetchrow($result1); $usergroup =( ( $row1['group_id'] != '' ) ? $row1['group_id'] : 'User has no user group'.$row1 ); } if (!($row1['group_id'] != '')) { $sql2 = "SELECT MAX(group_id) AS total FROM " . GROUPS_TABLE; if ( !($result2 = $db->sql_query($sql2)) ) { message_die(GENERAL_ERROR, 'Could not obtain next group_id information', '', __LINE__, __FILE__, $sq2l); } if ( !($row2 = $db->sql_fetchrow($result2)) ) { message_die(GENERAL_ERROR, 'Could not obtain next group_id information', '', __LINE__, __FILE__, $sql2); } $group_id = $row2['total'] + 1; $sql3 = "INSERT INTO " . GROUPS_TABLE . " (group_id, group_name, group_description, group_single_user, group_moderator) VALUES ($group_id, '', 'Personal User', 1, 0)"; if ( !($result3 = $db->sql_query($sql3, BEGIN_TRANSACTION)) ) { message_die(GENERAL_ERROR, 'Could not insert data into groups table', '', __LINE__, __FILE__, $sql3); } $sql4 = "INSERT INTO " . USER_GROUP_TABLE . " (user_id, group_id, user_pending) VALUES ($user_id, $group_id, 0)"; if( !($result4 = $db->sql_query($sql4, END_TRANSACTION)) ) { message_die(GENERAL_ERROR, 'Could not insert data into user_group table', '', __LINE__, __FILE__, $sql4); } $usergroup = $usergroup.', adding user group '.$group_id; } $liste .= ( ( $liste != '' ) ? '<br> ' : '' ) . $username.' <b>'.$usergroup.'</b>';}message_die(GENERAL_MESSAGE,'Users:<br>'.$liste);?> 2 / Uploader ce fichier a la racine de votre forum . 3 / A l'aide de votre navigateur appeler ce fichier ( http://www.votresite.com/dossier_forum/fix.php ) Veillez a bien respecter l'aborescence des repertoires bien sur Je l'ai fait et ca fonctionne très bien pour moi.... en espérant que cela puisse servir a qqn @ ++ Modifié 20 Août 2006 par Portekoi
Razorblade Posté 4 Août 2006 Posté 4 Août 2006 Un grand merci pour l'explication ! J'ai exactement le même problème mise a part un petit détail (en gras dans le citation ci-dessous) Désolé je n'ai aucune connaissance là dessus, et donc j'aurai voulu savoir si je pourrai le faire(Crée le fichier fix.php....etc) en tant qu'Administratrice (Le webmaker étant absent pour le moment) , merci d'avance ! 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)' at line 2 INSERT INTO phpbb_auth_access (forum_id, group_id, auth_mod) VALUES (3, , 1) Line : 390 File : admin_ug_auth.php
Miguel Posté 20 Août 2006 Auteur Posté 20 Août 2006 (modifié) Un grand merci pour l'explication !J'ai exactement le même problème mise a part un petit détail (en gras dans le citation ci-dessous) Désolé je n'ai aucune connaissance là dessus, et donc j'aurai voulu savoir si je pourrai le faire(Crée le fichier fix.php....etc) en tant qu'Administratrice (Le webmaker étant absent pour le moment) , merci d'avance ! Pour la ligne c'est normal il se peux que des lignes de codes soient ajouter par votre forum (ou mods installés). En ce qui concerne la création du fichier fix.php et son execution, il faut avoir acces au ftp pour créer ce fichier et l'y envoyer car lancer l'execution du fichier peut etre fait depuis un compte admin classique. Modifié 20 Août 2006 par Miguel
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant