Bonjour,
Désolé de vous embêter avec mes problèmes mais depuis 2 jours j'ai ce message d'erreur :
LainaaERREUR DE BASE DE DONNÉES
Unknown column 'most_on' in 'field list'
Fichier: /mnt/165/sda/2/3/zarevptkt/smf/Sources/Subs-MembersOnline.php
Ligne: 217
A 22h le forum marchait, peu après minuit je me suis reconnecté et j'ai constaté cette erreur. Je ne sais pas du tout comment elle est survenue et surtout ce que ça signifie et d'où vient le problème ?
J'ai ce message uniquement quand je clique sur "Forum", j'arrive à accès aux messages depuis le portail, mais pas à l'accueil du forum en lui-même.
J'ai déjà tenté des réparations/optimisations des tables, remettre le fichier "Subs-MembersOnline.php" d'origine... le problème est toujours là.
Bonjour,
Le message dit qu'il te manque un champ 'most_on' voir ce qu'il est mis à la ligne 217 de ton fichier sus-nommé :)
Ah oui j'ai oublié de marquer ce que j'avais à cette ligne, donc en fait j'ai juste une fin d'instruction :
);
Bonjour,
Oui il faut quand même les 10 dernières lignes :) Mais cela doit faire objet à la table members je suppose. Un mod installé sans avoir mis sa mise à jour en db :)
217 à 256 (dernière ligne)
Lainaa);
// The log_activity hasn't got an entry for today?
if ($smcFunc['db_num_rows']($request) === 0)
{
$smcFunc['db_insert']('ignore',
'{db_prefix}log_activity',
array('date' => 'date', 'most_on' => 'int'),
array($date, $total_users_online),
array('date')
);
}
// There's an entry in log_activity on today...
else
{
list ($modSettings['mostOnlineToday']) = $smcFunc['db_fetch_row']($request);
if ($total_users_online > $modSettings['mostOnlineToday'])
trackStats(array('most_on' => $total_users_online));
$total_users_online = max($total_users_online, $modSettings['mostOnlineToday']);
}
$smcFunc['db_free_result']($request);
$settingsToUpdate['mostOnlineUpdated'] = $date;
$settingsToUpdate['mostOnlineToday'] = $total_users_online;
}
// Highest number of users online today?
elseif ($total_users_online > $modSettings['mostOnlineToday'])
{
trackStats(array('most_on' => $total_users_online));
$settingsToUpdate['mostOnlineToday'] = $total_users_online;
}
if (!empty($settingsToUpdate))
updateSettings($settingsToUpdate);
}
?>
Bonjour,
Il faut vérifier ta table smf_log_activity car il te manque des champs :)
Regarde avec ton gestionnaire de bdd phpmyadmin ce qu'il en est :)
Ok merci, par contre je vais pas pouvoir faire ça de suite :
LainaaphpMyAdmin - Erreur
#2005 - Unknown MySQL server host 'xxx.free.fr.sql.free.fr' (1)
Merci Free... >:(
Mais je précise quand même que je m'étais déjà connecté hier (et que hier le problème sur le forum était déjà là).
Bonjour,
Soit il y a un problème chez free soit ta bdd est altérée ....et là pas cool :)
Alors en fait y avait eu un truc par rapport à cette table.
J'avais supprimé par erreur (au lieu de vider) la table "smf_log_activity", ensuite on m'avait dit pour recréer la table de marquer ça :
LainaaCREATE TABLE `smf_log_activity` (
date date NOT NULL default '0001-01-01',
hits mediumint(8) unsigned NOT NULL default 0,
topics smallint(5) unsigned NOT NULL default 0,
posts smallint(5) unsigned NOT NULL default 0,
registers smallint(5) unsigned NOT NULL default 0,
mostOn smallint(5) unsigned NOT NULL default 0,
PRIMARY KEY (date),
KEY hits (hits),
KEY mostOn (mostOn)
);
Chose qui a été faite et ça re-marchait. Est-ce qu'il y a un truc qui ne va pas ?
Sinon, le jour du problème ma bdd faisait plus de 100mo (2 forums en tests, phpBB et SMF), je me suis dit que peut-être Free limite la taille à 100mo alors j'ai supprimé le phpBB (que je n'avais plus besoin de toute façon) pour faire de la place.
Admettons que la limite soit bien de 100mo, ça pourrait venir de là le problème ?
Bonjour,
Tu colles ceci dans ton générateur sql :
DROP TABLE IF EXISTS `smf_log_activity`;
CREATE TABLE `smf_log_activity` (
`date` date NOT NULL DEFAULT '0001-01-01',
`hits` mediumint(8) unsigned NOT NULL DEFAULT '0',
`topics` smallint(5) unsigned NOT NULL DEFAULT '0',
`posts` smallint(5) unsigned NOT NULL DEFAULT '0',
`registers` smallint(5) unsigned NOT NULL DEFAULT '0',
`most_on` smallint(5) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`date`),
KEY `mostOn` (`most_on`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
et tu l'exécutes :)
D'accord, merci beaucoup. Dès que que je pourrai me reconnecter à ma base je testerai ça. :D
-----
L'erreur de connexion à phpmyadmin vient d'un problème avec Chrome semble-t-il, puisqu'avec Firefox et IE ça marche. Bref, ça c'est pas le plus important.
En tout cas c'est bon, j'ai relancé avec le code précédemment donné et ça re-fonctionne !
Un grand merci encore ! :D