Visualizzazione risultati 1 fino 13 di 13

Discussione: Problema in MySQL

  1. #1
    Guest

    Predefinito Problema in MySQL

    In seguto ad una richiesta di cambio password poichè non riuscivo ad accedere al pannello di controllo del forum
    http://angolob.altervista.org/phpbb/
    si è verificato un errore irreversibile sul database mysql collegato al forum:
    La procedura di recupero/cambio password ha funzionato regolarmente, ma non mi consentiva l'accesso al pannello di controllo del forum come utente admin.
    Cambiando password dal profilo utente è successo "qualcosa" sul database, e il forum è adesso inaccessibile:

    SQL ERROR [ mysql4 ]
    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 'AND t.template_id = s.template_id AND c.theme_id = s.theme_i [1064]

    Ho cercato nelle guide, nel forum e sul web ma non sono riuscito a risolvere il problema.
    Vi chiederei se fosse possibile ripristinare un backup del database, per poter rientrare nel sito.

    Vi ringrazio per la comprensione e la collaborazione

    Saluti

  2. #2
    Forumanicomio non è connesso Utente
    Data registrazione
    02-07-2007
    Messaggi
    228

    Predefinito

    Citazione Originalmente inviato da angolob Visualizza messaggio
    In seguto ad una richiesta di cambio password poichè non riuscivo ad accedere al pannello di controllo del forum
    http://angolob.altervista.org/phpbb/
    si è verificato un errore irreversibile sul database mysql collegato al forum:
    La procedura di recupero/cambio password ha funzionato regolarmente, ma non mi consentiva l'accesso al pannello di controllo del forum come utente admin.
    Cambiando password dal profilo utente è successo "qualcosa" sul database, e il forum è adesso inaccessibile:

    SQL ERROR [ mysql4 ]
    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 'AND t.template_id = s.template_id AND c.theme_id = s.theme_i [1064]

    Ho cercato nelle guide, nel forum e sul web ma non sono riuscito a risolvere il problema.
    Vi chiederei se fosse possibile ripristinare un backup del database, per poter rientrare nel sito.

    Vi ringrazio per la comprensione e la collaborazione

    Saluti

    Beh, se tu sei l'admin, e vedo che accedi a questo forum, allora accedi anche la database direttamente...

    Quindi potresti:

    resettare (la cancelli direttamente dal campo del database, dopo averla copiata con estrema attenzione (non si sa mai)) la password di admin del forum, e poi ENTRI SUBITO DOPO E LA CAMBI.
    (questo ho provato, e non so se funziona, in effetti senza password non si entra)

    Cambiarla:

    Ti registri al forum come utente normale, quando sei attivo entri nel database, copi la password dell'utente normale dentro al campo password dell'utente admin, in questo modo dovrebbero diventare uguali

    Se non funziona: dal database cambi il tipo di utente all'utente che hai appena creato: lo fai diventare admin (user_type=3) e con l'admin nuovo puoi ri-impostare quello vecchio

    Sono tre tentativi che io farei...

  3. #3
    Guest

    Predefinito

    Ti ringrazio per i suggerimenti.

    Nell' ordine:
    ho cancellato la pwd (salvata) di admin -> sempre lo stesso errore
    ho cancellato admin tutto (salvato prima) -> sempre lo stesso errore
    ho telefonato ad un amico che è registrato nel forum, a lui funziona tutto, lo "vede", si logga, ecc...
    ho ripuito di nuovo IE locale da tutto -> sempre lo stesso errore

    se riuscissi ad accedere come chiunque, creerei un utente pippo e poi lo modifico dal db, ma se non entro in

    nessun modo.... non so come fare.

    Grazie comunque per i suggerimenti, se hai qualche altra idea è la benvenuta

  4. #4
    Guest

    Predefinito

    Bene, ieri sera stanco per gli inutili tentativi, ho piallato tutto, cartelle e database.
    Alcune cartelle non si lasciavano cancellare, ma le ho vuotate e rinominate old, quindi non dovrebbero rompere le scatole.
    Ho reinstallato phpbb3 (ovviamente non dall'interfaccia Altervista, perchè mi dice "dominio non disponibile"), tutto è andato a posto, ho importato gli utenti sul database, ho configurato qualche forum..... insomma tutto ok SEMBRAVA!

    Oggi, provo a rientrare nel forum http://angolob.altervista.org/forum/index.php e.....
    SQL ERROR [ mysql4 ]
    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 'AND t.template_id = s.template_id AND c.theme_id = s.theme_i [1064]

    Apro il database e da BLOB-46B come permissions che avevo come admin mi ha portato a 31 e TUTTI gli altri a BLOB-0B

    Impossibile riaccedere al forum, ogni tentativo sul db non da esito positivo.... insomma non so più a che santo votarmi.

    A questo punto chiederei agli Amministratori di Altervista: potete cancellare TUTTO in modo che possa ripartire da ZERO? Anche se seguendo la procedura di setup da Altervista non saprei come aggirare il dominio che vorrei rimanesse lo stesso.

    Qualcuno ha altre idee?

    Grazie per il supporto

  5. #5
    Guest

    Predefinito

    Il problema sta nella sintassi della query, postala per verificare sia corretta.

  6. #6
    Guest

    Predefinito query

    la trovo in un paio di files sql di cache e in /acp/acp_styles.php quindi riporto il codice di estratto da questo acp_styles.php
    penso il codice della query sia questo, mentre [1064] sia l'errore sql, perchè la riga 1064 è commentata

    resta comunque un "mistero" come mai nella notte abbia cambiato le role permissions: cosa c'entrano con lo style (peraltro il default di phpbb e non ne ho aggiunti altri)? mahh...

    Grazie comunque per il supporto, sperando di riuscire a sistemare questo guazzabuglio.


    Codice PHP:
    case 'style':
    if (
    $update && ($inc_template + $inc_theme + $inc_imageset) < 1)
    {
    $error[] = $user->lang['STYLE_ERR_MORE_ELEMENTS'];
    }

    $name = 'style_name';

    $sql_select = 's.style_id, s.style_name, s.style_copyright';
    $sql_select .= ($inc_template) ? ', t.*' : ', t.template_name';
    $sql_select .= ($inc_theme) ? ', c.*' : ', c.theme_name';
    $sql_select .= ($inc_imageset) ? ', i.*' : ', i.imageset_name';
    $sql_from = STYLES_TABLE . ' s, ' . STYLES_TEMPLATE_TABLE . ' t, ' . STYLES_THEME_TABLE . ' c, ' . STYLES_IMAGESET_TABLE . ' i';
    $sql_where = "s.style_id = $style_id AND t.template_id = s.template_id AND c.theme_id = s.theme_id AND i.imageset_id = s.imageset_id";
    $l_prefix = 'STYLE';
    break;

    case
    'template':
    $name = 'template_name';

    $sql_select = '*';
    $sql_from = STYLES_TEMPLATE_TABLE;
    $sql_where = "template_id = $style_id";

    $l_prefix = 'TEMPLATE';
    break;

    case
    'theme':
    $name = 'theme_name';

    $sql_select = '*';
    $sql_from = STYLES_THEME_TABLE;
    $sql_where = "theme_id = $style_id";

    $l_prefix = 'THEME';
    break;

    case
    'imageset':
    $name = 'imageset_name';

    $sql_select = '*';
    $sql_from = STYLES_IMAGESET_TABLE;
    $sql_where = "imageset_id = $style_id";

    $l_prefix = 'IMAGESET';
    break;
    }

    if (
    $update && !sizeof($error))
    {
    $sql = "SELECT $sql_select
    FROM
    $sql_from
    WHERE
    $sql_where";
    $result = $db->sql_query($sql);
    $style_row = $db->sql_fetchrow($result);
    $db->sql_freeresult($result);

    if (!
    $style_row)
    {
    trigger_error($user->lang['NO_' . $l_prefix] . adm_back_link($this->u_action), E_USER_WARNING);
    }

    $var_ary = array('style_id', 'style_name', 'style_copyright', 'template_id', 'template_name', 'template_path', 'template_copyright', 'template_storedb', 'bbcode_bitfield', 'theme_id', 'theme_name', 'theme_path', 'theme_copyright', 'theme_storedb', 'theme_mtime', 'theme_data', 'imageset_id', 'imageset_name', 'imageset_path', 'imageset_copyright');

  7. #7
    Guest

    Predefinito

    Così non è molto d'aiuto. Fai una cosa, nel config.php decommenta le costanti DEBUG e DEBUG_EXTRA, vai alla pagina dove ti dà errore e aggiungi all'indirizzo ?explain=1 se non sono passate variabili via GET altrimenti &explain=1, poi fai una ricerca della query dove è presente la riga mostrata nell'errore (Puoi usare CTRL + F) e posta la query, così vediamo un pò.

  8. #8
    Guest

    Predefinito

    Codice PHP:
    $sql_where = "s.style_id = $style_id AND t.template_id = s.template_id AND c.theme_id = s.theme_id AND i.imageset_id = s.imageset_id";
    la query penso che sia questa, non la trovo altrove, se non in quei 2 file sql della cartella cache
    prima avevo riportato anche il codice precedente e successivo
    se cambio valore nella tabella user della cella style_id non cambia nulla. sempre inaccessibile.
    credo che le informazioni vadano nel cookie, ma anche spostandolo da d&s/nome ecc... stesso risultato

    Geazie per il supporto
    Ultima modifica di angolob : 18-09-2009 alle ore 21.04.45 Motivo: errore battitura

  9. #9
    Guest

    Predefinito config.php decommentato

    Se vuoi metto tutta la serie di errori qui, oppure basta che clicchi
    http://angolob.altervista.org/forum/index.php
    così non vi riempio il vostro database inutilmente.

    Grazie per il supporto

    p.s. nella root ho creato una cartella "old" dove ci sono solo delle sotto cartelle della precedente struttura; via ftp non è possibile eliminarla, se potete farlo voi, tanto è completamente vuota (sono solo cartelle tutte vuote, e anche cambiando permissions non riesco a eliminarle)

    Grazie ancora
    Ultima modifica di angolob : 21-09-2009 alle ore 02.57.43 Motivo: dimenticanza

  10. #10
    Guest

    Predefinito

    Come puoi vedere, nella clausola where non è presente nessun dato in:
    Codice:
    WHERE s.style_id = AND
    Hai disinstallato qualche tema andando direttamente nel DB o comunque non dal Pannello di Amministrazione?

    Che modifiche hai apportato al codice originale?

  11. #11
    Guest

    Predefinito la sequenza

    Innanzitutto grazie per il supporto

    Questa è la sequenza delle operazioni come admin del sito.

    1 anno fa circa feci il setup di phpbb e aggiunsi il portale mk
    poi non toccai più nulla, nemmeno aprii un forum, perchè avevamo difficoltà a reperire le email dei compagni di classe (il sito era online solo per quello, volevamo "ritrovarci")
    Qualche giorno fa abbiamo reperito alcuni contatti, per cui sono andato nel pannello di controllo admin per iniziare ad impostare un paio di forum a "tema" dal singolo e unico che phpbb mette online:
    non accetta la pwd admin; strano, ma me la faccio reinviare, clicco e la attivo e rientro; non la accetta; di nuovo me la faccio reinviare e di nuovo come prima.
    a quel punto passo al pannello di controllo personale di admin e cambio la pwd; la accetta e torno al forum. BUM errore generale (sempre il solito)
    provo a guardare il database, c'è tutto, non capisco, faccio qualche altro tentativo poi perdo la pazienza e cancello tutto, cartelle e database, salvando solo la tabella degli utenti registrati, admin escluso.

    dal vostro setup non posso ripartire perchè il dominio angolob è impegnato (ovviamente) per cui invio la sola board phpbb in ftp e procedo al setup: tutto regolare; accedo al pannello admin, rinomino il forum di default, e tutto funziona, entro esco, tutto regolare. a quel punto vado a dormire sfinito.

    il giorno dopo riapro la pagina del forum (perchè index.php non è più in root ovviamente) e BUM di nuovo l'errore.
    accedo al database, è tutto ancora lì ma le permissions (BLOB eccc) sono cambiate completamente, da 46 che ero sono a 31! e chi le ha toccate?

    da allora la situazione è questa.
    avevo "capito" che l'errore era relativo agli stili, ma se non ne ho importati alcuno? che senso ha?
    ho provato nella tabella admin a rimettere le permission 46B, non cambia nulla ovviamente, ho provato a mettere 0 poi 1 poi 2 nella cella dello stile, niente da fare.
    A questo punto mi sono arreso e ho postato qui il mio dramma :(

    Grazie ancora per il supporto, sperando di riuscire a riavere la board funzionante al più presto perchè i "vecchi" compagni di scuola iniziano a rispuntare.

    Saluti

  12. #12
    Guest

    Predefinito

    Non è che qualcuno si diverte a cambiare i dati del forum avendo la tua password?

    Reinstalla la board, cambia la password che suavi fino ad roa con una completamente nuova, poi vedi se continua l'errore.

    Che tema usi?

  13. #13
    Guest

    Predefinito

    No questo lo escludo assolutamente, siamo in 3 amici a cui si è aggiunta una compagna di classe l'altro giorno, quando ho deciso che era tempo per rinominare il forum di default di phpbb e da lì tutto il casotto successivo.
    Le pwd poi me le dava il vostro server, per cui erano supersicure; su questo non ho il minimo dubbio.
    Io provo a ripulire il tutto di nuovo e a rifare un setup, ma sinceramente non ho "buone sensazioni" che vada tutto a buon fine, comunque ci riprovo.
    Inizialmente avevo messo (1 anno fa) un aerononsocosa ed era anche carino, ma nell'installazione nuova non ho aggiunto alcuna skin, era esattamente il default phpbb, per cui non c'è ragione che non riconosca il suo stile nativo.
    E le permissions cambiate nel database? Altro bel mistero no? mahh

    Grazie per il supporto

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •