Advertisement:

Author Topic: Splucion al problema member id 2559 not previously loaded by loadMemberData()  (Read 226 times)

Offline Dhayzon

  • Sophist Member
  • *****
  • Posts: 1,272
  • Gender: Male
  • DhayZone RevolutioN
    • Dhayzon on GitHub
    • @dhayzon on Twitter
    • http://dhayzon.com/
loadMemberContext(): member id 2559 not previously loaded by loadMemberData()



normalmente este problema comienza a aparecer cuando eliminamos a los usuarios desde la base de datos

¿cual es la situación en la que se debe aplicar esta solución?
Cuando decidimos eliminar usuarios directamente desde la base de datos ya sea usando  phpmyadmin o consola, normalmente lo hacen personas como yo que se quieren ahorrar tiempo eliminado usuarios uno a uno, en  mi caso elimine unos 5mil usuarios que tenian menos de 5 post y su conexión  fue hace mas de 1  año... (es un ejemplo)


lo que pasa es que utilizando este método los temas que son creados por esos usuarios aun mantienen su id y cuando smf intenta cruzar la información no encuentra al usuario en la tabla members,


entonces necesitamos establecer en 0  los id en las tablas messages y topics,


haremos una modificación en /Sources/Load.php


vamos a buscar :
Code: [Select]
trigger_error('loadMemberContext(): member id ' . $user . ' not previously loaded by loadMemberData()', E_USER_WARNING);

y antes pegaremos esto

Code: [Select]
1508:     $smcFunc['db_query']('', '
1509: UPDATE {db_prefix}messages
1510: SET id_member = {int:id} 
1511: WHERE id_member = {int:id_member}',
1512: array(
1513: 'id_member' =>  (int)$user, 
1514: 'id' => 0
1515: )
1516: );
1517: $smcFunc['db_query']('', '
1518: UPDATE {db_prefix}topics
1519: SET id_member_started = {int:id} 
1520: WHERE id_member_started = {int:id_member}',
1521: array(
1522: 'id_member' =>  (int)$user, 
1523: 'id' => 0
1524: )
1525: );


esto no arreglara el problema de un sape


esto hará un update cada que  el error sea disparado automaticamente  dependiendo de la cantidad de usuarios eliminados , los mensajes y la impresión de los mensajes  ...se arreglara

« Last Edit: April 22, 2020, 05:15:21 PM by Dhayzon »

Offline Rock Lee

  • Local Moderator
  • SMF Hero
  • *
  • Posts: 3,530
  • Gender: Male
  • Learning more every day!
    • BomberCode.Oficial on Facebook
    • RockLee-BC on GitHub
    • @Bomber_Code on Twitter
    • Bomber Code ~ La nueva era del conocimiento
Por eso prefiero tocar la base de datos como ultimo recurso y medio por obligacion, aunque ¿aplica para 2.1? o ¿solo 2.0? ... Nunca borre directo pero no tuve problema pero si con ID fantasmas algunas veces me dieron algunos lios al momento de validar ciertas cosas.


Saludos!
¡Regresando como cual Fenix! ~ Bomber Code © 2020
Ayudas - Aportes - Tutoriales - Y mucho mas!!!

Offline vicram10

  • SMF Hero
  • ******
  • Posts: 5,942
  • Gender: Male
  • Founding Father of Ultimate Portal
    • vmrm10 on Facebook
    • vicram10 on GitHub
    • vicram10 on LinkedIn
    • @vicram_10 on Twitter
    • Noticias Tecnologicas, Tutoriales e Internet
Tambien se puede ver la manera de hacerlo de un tiron todo, pero asi como esta, igual esta bien planteado, esto debido a que lo hara bajo demanda y por lo tanto no consumira recursos.
Gracias Dhayzon