Forum Programmation.web Message:

Posté par  .
Étiquettes :
0
25
août
2005
Sur notre serveur, nous avons ce message: Warning:mysql_num_rows():supplied argument is not a valid MySQL result resource in quand on tente d'accéder à certaines pages qui sont des scripts php pour interroger une base de données.
Quand on utilise phpMyAdmin, et qu'on tente de visualiser la structure de la table contenue dans la base qui ne fonctionne plus correctement, on se retrouve avec un message du genre:

requête SQL: Modifier

SHOW KEYS FROM `act` ;

MySQL a répondu:Documentation
#1016 - Can't open file: 'act.MYI'. (errno: 145)


Pourtant ce fichier se trouve en /var/lib/mysql/pprogress/ où il se trouvait précédemment d'ailleurs (les droits sont en 660, comme les autres tables/fichiers de cette base et de l'autre qui ne pose aucun problème).

J'ai cherché sur les forums linux.fr, ainsi que sur pas mal d'autres, mais je ne comprends pas ce qui se passe... ni la façon d'y remédier ou que faire.

Est-ce que quelqu'un pourrait m'aider ?

Au niveau du code php, rien n'a été modifié récemment, le bug "venant d'arriver" apparemment "tout d'un coup". Une relance du serveur n'a rien donné.

Ce serveur accueille une autre base qui n'a pas de problèmes celle-là.

mysql est en version 12.22 Distrib 4.0.24 sur Debian Sarge

Merci de votre aide.
  • # Complément

    Posté par  . Évalué à 1.

    Le titre devait être

    Message: Warning:mysql_num_rows():supplied argument is not a valid MySQL result resource in

    Bizarement, ça n'est pas passé. Désolé
  • # Table corrompue?

    Posté par  . Évalué à 2.

    Peut-être ta table est-elle corrompue? Essaye de la réparer en utilisant la commande:
    repair table le_nom_de_ta_table;
    • [^] # Re: Table corrompue?

      Posté par  . Évalué à 2.

      Oui, tu as tout à fait raison, je suis un ane batté !

      En fait, en retournant sur phpmyadmin, en sélectionnant la base, j'ai bien eu l'info que la base était corrompue, et ensuite il m'a suffit de demander de réparer la base, ce qui a résolu le "problème".

      Désolé de t'avoir fait perdre ton temps, et merci de m'avoir aidé.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.