Errore tabella smf_smileys durante upgrade o modifica
Per incompatibiltà con versioni Mysql, a volte capita un errore durante un semplice upgrade mentre aggiorna la tabella smf_smileys, bloccando così la procedura di aggiornamento…la soluzione è semplice!
Se avete una versione del Mysql non pienamente compatibile con SMF, l’errore che potrebbe capitarvi durante l‘aggiornamento della vostra board SMF è questo qui di seguito:
This query:
ALTER TABLE smf_smileys
ORDER BY LENGTH(code) DESC;
Caused the error:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘LENGTH(code) DESC’ at line 2
Niente paura, non andiamo nel panico, ora vi mostrerò come risolvere il problema e continuare con la procedura di upgrade.
La prima soluzione è quella meno pratica, nel senso che è possibile solo se avete pieno possesso del server, perchè riguarda l’aggiornamento del vostro mysql.
Visto che la maggior parte degli utenti, utilizza hosting dove non è possibile questo, neanche richiedendolo, vi mostro anche la seconda soluzione alla portata di tutti, infatti si tratterà soltanto della modifica del file di upgrade e un file del forum.
Modificare il file upgrade_1-1.sql
Cercare:
ALTER TABLE {$db_prefix}smileys
ORDER BY LENGTH(code) DESC;
Sostituire con:
ALTER TABLE {$db_prefix}smileys
ORDER BY code DESC;
Modificare il file /Sources/ManageSmileys.php
Cercare:
// Sort all smiley codes for more accurate parsing (longest code first).
db_query("
ALTER TABLE {$db_prefix}smileys
ORDER BY LENGTH(code) DESC", __FILE__, __LINE__);
Sostituire con:
// Sort all smiley codes for more accurate parsing (longest code first).
db_query("
ALTER TABLE {$db_prefix}smileys
ORDER BY code DESC", __FILE__, __LINE__);
Su ” ManageSmileys.php”, la sezione del codice verrà visualizzato due volte e si trovano all’incirca nelle linee 654 e 990.
Bisogna modificare in entrambi i punti.
Dopo queste 2 modifiche protrete rilanciare l’upgrade che completerà senza nessun errore!!
Buon aggiornamento!!!
ATTENZIONE: Probabile errore anche se non effettuate un upgrade
Potrebbe capitare, sempre per problemi di versione mysql, che capiti un errore simile
Vi dice che il vostro forum non è aggiornato, ma niente di più falso, non provate neanche ad aggiornare, oltre a rischiare di incasinare le cose, non risolvete niente!
In questo caso basta semplicemente eseguire la modifica al file /Sources/ManageSmileys.php
N.B. Ovviamente quel messaggio di errore potrebbe capitarvi anche per altri tipi di problemi, questa soluzione è solo nell’errore durante la modifica degli Smile
Questo è tutto, ora non dovreste avere più nessun errore nel vostro forum!

Commenti recenti