PROJET AUTOBLOG


Opennews

source: Opennews

⇐ retour index

Soucis dans mon code

samedi 18 mars 2017 à 14:49
En supposant que tu utilises fluxbb.

C'est la ligne suivante qui provoque manifestement une erreur :
$result = $db->query('SELECT id, word FROM '.$db->prefix.'search_words WHERE word IN(\''.implode('\',\'', array_map(array($db, 'escape'), $unique_words)).'\')', true) or error('Unable to fetch search index words', FILE, LINE, $db->error());

Sur la première capture d'écran, on constate l'erreur "Illegal mix of collations...", il y a donc des chances que dans le tableau $unique_words, il y ait des mots encodés en utf8 sur une requête qui va taper sur une colonne (search_words."word") en latin.

Si le problème est récent, il peut tout à fait venir d'une mise à jour (soit de php soit de mysql), vu que tu as l'air de passer par un hébergement mutualisé, le fournisseur a très bien pu monter de version l'un ou l'autre des logiciels.

Peut-être que la solution de ce topic peut marcher si tu mets à jour ta base de données fluxbb (pense à faire une copie de la base de données avant) :
http://stackoverflow.com/questions/1008287/illegal-mix-of-collations-mysql-error



==> Je suis passé d'une version PHP 5.4...  à une version 5.6.21  Chez mon hébergeur je me retrouve avec une erreur comme cella la:

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/u390222288/public_html/include/parser.php on line 339

dans le parser.php, j'ai ça à la ligne 339:

// Make hyperlinks clickable
//
function do_clickable($text)
{
global $pun_user;

$text = ' '.$text;

$text = preg_replace('#([\s\(\)])(https?|ftp|news){1}://([\w\-]+\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^"\s\(\)<\[]*)?)#ie', '\'$1\'.handle_url_tag(\'$2://$3\')', $text);
$text = preg_replace('#([\s\(\)])(www|ftp)\.(([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^"\s\(\)<\[]*)?)#ie', '\'$1\'.handle_url_tag(\'$2.$3\', \'$2.$3\')', $text);

return substr($text, 1);
(Permalink)