IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Suppression d'enregistrements MySQL abusive, sans requête associée


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 8
    Par défaut Suppression d'enregistrements MySQL abusive, sans requête associée
    Bonjour,

    Je suis administrateur d'un jeu en ligne et j'ai depuis quelques semaines un problème assez embêtant, les messages se suppriment tous seuls, mais sans requête de suppression !

    Je m'explique.

    Les messages sont envoyés dans une table "playgame_messages" et sont triés par une page PHP selon le champ "message_type_act"

    J'ai supprimé la requête que j'avais à l'origine pour les supprimer ("DELETE FROM....") par un champ "enabled" qui est mis à 0

    Voilà, malgré cela, j'ai toujours ce problème de messages qui disparaissent... mais en plus, c'est seulement deux types spéciaux de messages qui se suppriment !

    Tenez par exemple :
    Un joueur espionne un autre joueur, il reçoit un message avec son rapport d'espionnage, ban tous ses messages d'espionnages, ou rapports de combat se suppriment ! Et pas les autres !

    Auriez-vous une idée ?
    Je peux vous fournir toutes les informations que vous souhaitez au besoin...

    Je continue à chercher, merci !

    Maxime.

  2. #2
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Bonjour,

    Il faudrait que tu mettes un bout de code pour qu'on puisse t'aider

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 8
    Par défaut
    C'est là qu'est tout le problème, je n'ai aucune idée d'où cela peut venir...

    Aucune requête de suppression, aucune requête de vidage de cette table, pourtant, ça disparaît...

    Je ne comprends pas du tout ce qui peut faire ça...

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Es-tu certain que la ligne est supprimé, tu pourrais avoir un UPDATE un peu costaud disons ?

    Tu peux aussi avoir un EVENT mysql.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 8
    Par défaut
    Aucune requête qui ne peut supprimer un message associé à cette table...

    J'ai vérifié, j'avais avant un DELETE FROM..... pour supprimer les messages, je l'ai supprimé et remplacé par un UPDATE qui met un champ "enabled" = 0 (là où avant c'était 1

    Du coup les messages affichés (par un SELECT) sont seulement ceux avec enabled = 1 (les messages non supprimés).

    Mais parfois, poum, plus de messages... dans mon interface d'administration.... beh aucun message d'espionnage, là où il y en avait 500 il y a cinq minutes...

    Ma question est : qu'est-ce qui peut supprimer un enregistrement SQL sans requête DELETE FROM ou TRUNCATE ?

    J'ai recherché dans tous les fichiers les occurences "DELETE FROM" et "TRUNCATE", rien qui ne touche la table des messages...

    Une idée ?

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    dans mon interface d'administration
    et dans la base ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 322
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 322
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par IGalaxy Voir le message
    C'est là qu'est tout le problème, je n'ai aucune idée d'où cela peut venir...

    Aucune requête de suppression, aucune requête de vidage de cette table, pourtant, ça disparaît...

    Je ne comprends pas du tout ce qui peut faire ça...
    Quel est le lien entre ces 500 enregistrements ? Pourquoi ceux-la et pas d'autres ?
    Qd tu dis 500 c'est un nbre en l'air à titre d'exemple ou c'est à chq fois pîle 500 enregistrements qui sont supprimés ?
    Pas de ON DELETE/UPDATE CASCADE dans ta base de données ??
    Un transaction mal gérée ?
    Ou alors c'est peut-être simplement un coup du contre-espionnage ( =>[ ] )

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 8
    Par défaut
    Citation Envoyé par Séb. Voir le message
    Quel est le lien entre ces 500 enregistrements ? Pourquoi ceux-la et pas d'autres ?
    Qd tu dis 500 c'est un nbre en l'air à titre d'exemple ou c'est à chq fois pîle 500 enregistrements qui sont supprimés ?
    Pas de ON DELETE/UPDATE CASCADE dans ta base de données ??
    Un transaction mal gérée ?
    Ou alors c'est peut-être simplement un coup du contre-espionnage ( =>[ ] )
    Non c'est 500 pour ne pas dire 1358 ou 2994 ou 1339...
    Pas de ON DELETE/UPDATE CASCADE...

    Contre-espionnage... non

Discussions similaires

  1. [ADO] Récupérer l'ID du dernier enregistrement sans requêter
    Par Kephuro dans le forum Bases de données
    Réponses: 7
    Dernier message: 27/05/2008, 17h06
  2. Requête sans table associée
    Par karoudja dans le forum BIRT
    Réponses: 3
    Dernier message: 02/07/2007, 10h53
  3. Requête suppression (300 enregistrements simultanément)
    Par e040098k dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 17/05/2007, 11h34
  4. Requête suppression d'enregistrement
    Par com-ace dans le forum Requêtes et SQL.
    Réponses: 22
    Dernier message: 22/08/2006, 17h26
  5. Suppression d'enregistrement mySQL
    Par Cocalight dans le forum Débuter
    Réponses: 44
    Dernier message: 31/07/2006, 15h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo