Problèmes avec les commentaires

  • warning: array_map(): Argument #2 should be an array in /var/www/titouille.ch/www/modules/system/system.module on line 1050.
  • warning: array_keys() expects parameter 1 to be array, null given in /var/www/titouille.ch/www/includes/theme.inc on line 1845.
  • warning: Invalid argument supplied for foreach() in /var/www/titouille.ch/www/includes/theme.inc on line 1845.
Portrait de titouille

Oui, peut-être que certains d'entre-vous ont tenté de laisser un petit commentaire sur les nouveaux tickets et sont tombés sur un message d'erreur plus ou moins incompréhensible :


user warning: Duplicate entry '8' for key 1 query:
INSERT INTO comments (cid, nid, pid, uid, subject, comment, format, hostname, timestamp, status, score, users, thread, name, mail, homepage)
VALUES (8, 54, 0, 1, 'titre du commentaire', 'contenu du commentaire...', 1, '[adresse ip]', 1171737390, 0, 0, 'a:1:{i:0;i:0;}', '01/', 'titouille', '', '') in /home/titouille/www/sites/titouille/includes/database.mysql.inc on line 121.

En essayant de rajouter un commentaire dans le ticket de Yann (aka Foxyforever), j'ai pu constater ce message et l'impossibilité d'insérer un nouveau commentaire en découlant...

Le problème venait du fonctionnement de Drupal. La base de données possède une table nommée "sequences", qui liste les identifiants actuels de chaque élément de construction (comments, users, vocabulary, view, files, node, etc...).

Chaque ligne correspond à un élément, et la colonne id correspond à l'incrémentation actuelle. Vu que j'ai injecté semi-manuellement les différents threads et commentaires de mon ancien blog "sablugo", je n'avais pas compris cette petite subtilité. La valeur d'auto-incrément était située à une valeur oscillant entre 0 et 10, alors que j'avais déjà une centaine de commentaires insérés depuis sablugo. L'insertion plantait donc sur la valeur d'identifiant déjà utilisée.

Le problème étant réglé, j'espère que les commentaires vont enfin faire leur apparition Wink