Salut Christophe et les autres,
Je transfère la discussion sur spip-dev, vu qu'apparemment
c'est un bug récurrent sur certains comptes....
Le problème est là, pour la version 1.0.6 : la colonne
accepter_forum n'a pas été créée dans la table
spip_articles. Or l'espace public va explicitement chercher
les colonnes de la table : i.e. SELECT spip_articles.titre....
Y compris la colonne accepter_forum, qui comme elle n'existe
pas fait foirer la requête. (si on va chercher les colonnes
explicitement, c'est pour éviter de charger le serveur en
récupérant le corps de l'article s'il n'est pas utilisé ;-).
Ce qui est bizarre, c'est que la procédure d'upgrade de la
base inclut systématiquement un ajout des nouvelles colonnes
d'après le numéro de version stocké dans spip_meta. Ce numéro
est bien correct chez toi (1.06), donc ça veut dire que la
mise à jour a dû être faite.
Ainsi dans la 1.06 (ecrire/inc_base.php3) :
$version_installee = 0.0;
$result = mysql_query("SELECT valeur FROM spip_meta WHERE nom='version_installee'");
if ($result) if ($row = mysql_fetch_array($result)) $version_installee = (double) $row[0];
/* .... */
if ($version_installee < 1.06) {
mysql_query("ALTER TABLE spip_articles ADD accepter_forum VARCHAR(3) NOT NULL");
}
Encore plus étrange, il n'y a que chez quelques personnes que
ça ne marche pas. Ainsi Jacques Chatignoux a-t-il des problèmes
sur un compte Altern, mais sur la plupart des comptes Altern
ça tourne au poil....
Je vois plusieurs possibilités :
- erreur de code en PHP : mais je ne comprends pas pourquoi
la partie if ($version_installee < 1.06) { ... } ne serait
pas exécutée chez certains, et seulement chez certains.
- problèmes de droits d'accès à MySQL : la doc dit
"To use ALTER TABLE, you need select, insert, delete, update,
create, and drop privileges on the table."
- bug MySQL quelconque, ou limitation non documentée
(je n'ai rien trouvé dans la doc).
Si l'on fait ALTER TABLE spip_articles ADD accepter_forum VARCHAR(3) NOT NULL
sous phpMyAdmin, est-ce que ça upgrade bien correctement la
table articles ?
Quelle est la version de MySQL que tu utilises ?
a+
Antoine.