Visualizzazione risultati 1 fino 7 di 7

Discussione: SQL Error 1064: Errore Sintassi SQL

  1. #1
    Guest

    Predefinito SQL Error 1064: Errore Sintassi SQL

    Salve a tutti ragazzi, ora mi affido a voi, ho un problema con il PHP e con l'SQL, quando vado in una pagina che ho modificati ho questo problema:
    Could not obtain tutorial data

    DEBUG MODE

    SQL Error : 1064 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 '' at line 3

    SELECT t.*, u.user_id, u.user_rank, u.user_sig, u.user_sig_bbcode_uid, u.user_allowsmile FROM phpbb_tutorial_tutorials t, phpbb_users u WHERE t.tutorial_category_id = 1 AND u.user_id = t.tutorial_author_id ORDER BY

    Line : 295
    File : functions_tutorial.php
    Mentre queste sono le linee che ho dalla linea 280 alla 296:

    Codice PHP:
    if ( defined( 'IN_ADMIN' ) )
    {
    $sql .= " ORDER BY t.tutorial_id";
    }
    else
    {
    $sql .= " ORDER BY " . $tutorial_news_sort_method_extra . $tutorial_news_sort_method . $tutorial_news_sort_par . "";
    }
    if (
    $start > -1 && $tutorials_in_cat > 0 )
    {
    $sql .= " LIMIT $start, $tutorials_in_cat";
    }

    if ( !(
    $tutorial_result = $db->sql_query( $sql ) ) )
    {
    message_die( GENERAL_ERROR, "Could not obtain tutorial data", '', __LINE__, __FILE__, $sql );
    }
    ho letto su Google che dovrebbe essere un problema di " ma non capisco cosa non vada Vi prego di aiutarmi, vi ringrazio anticipatamente!!

  2. #2
    L'avatar di radioradianti
    radioradianti non è connesso Utente storico
    Data registrazione
    26-11-2003
    Residenza
    Roma
    Messaggi
    1,000

    Predefinito

    se questa query è riportata completamente :
    Codice:
    SELECT t.*, u.user_id, u.user_rank, u.user_sig, u.user_sig_bbcode_uid, u.user_allowsmile FROM phpbb_tutorial_tutorials t, phpbb_users u WHERE t.tutorial_category_id = 1 AND u.user_id = t.tutorial_author_id ORDER BY
    direi che manca la condizione di ordinamento, infatti doppo il comando ORDER BY non c'è nulla, il che spiegherebbe il discorso dei due apici singoli ''.

    Stando al codice che hai postato, direi che il problema dovrebbe essere in questa parte :
    Codice PHP:
    if ( defined( 'IN_ADMIN' ) )
    {
    $sql .= " ORDER BY t.tutorial_id";
    }
    else
    {
    $sql .= " ORDER BY " . $tutorial_news_sort_method_extra . $tutorial_news_sort_method . $tutorial_news_sort_par . "";
    }
    e più precisamente nella parte 'else' in quanto è l'unica in cui vengono passate variabili.

    Ora se il mio ragionamento è corretto, ti consiglio di controllare la valorizzazione delle seguenti variabili :

    • $tutorial_news_sort_method_extra
    • $tutorial_news_sort_method
    • $tutorial_news_sort_par


    Spero di esserti stato di aiuto.

    Ciao

    Leandro

    E' on line il numero 12 di Topolinux - Totalmente rinnovato!
    TopoLinux è anche chat! irc.azzurra.org canale #topolinux
    La semplicità di questo dono è inversamente proporzionale alla qualità della nostra amicizia

  3. #3
    Guest

    Predefinito

    Puoi capirne qualcosa in più magarui postandoti il file:

    http://jcdesign.altervista.org/tutorials.txt

    Li trovi tutto quello che dovrebbe servirti, io come detto non conosco SQL e PHP conosco le basi ma potrei avere sempre problemi di sintassi con alcune funzioni!

    Valorizzare cosa intendi? Dargli un valore giusto? Ma in che senso?

    Grazie ancora del supporto che mi date

  4. #4
    L'avatar di radioradianti
    radioradianti non è connesso Utente storico
    Data registrazione
    26-11-2003
    Residenza
    Roma
    Messaggi
    1,000

    Predefinito

    fai cosi, dopo questa parte di codice :

    Codice PHP:
    if ( $start > -1 && $tutorials_in_cat > 0 )
    {
    $sql .= " LIMIT $start, $tutorials_in_cat";
    }
    aggiungi questa riga :
    Codice PHP:
    echo '********<BR />\n'.$sql.'<BR />\n*********';
    poi lancia il tutto e posta qui il risultato di quella riga.

    Ciao

    Leandro

    E' on line il numero 12 di Topolinux - Totalmente rinnovato!
    TopoLinux è anche chat! irc.azzurra.org canale #topolinux
    La semplicità di questo dono è inversamente proporzionale alla qualità della nostra amicizia

  5. #5
    Guest

    Predefinito

    Scusa il ritardo ma non mi sono potuto dedicare molto a questo purtroppo

    Comunque mi esce:
    Codice:
    ********
    \nSELECT t.*, u.user_id, u.user_rank, u.user_sig, u.user_sig_bbcode_uid, u.user_allowsmile FROM phpbb_tutorial_tutorials t, phpbb_users u WHERE t.tutorial_category_id = 1 AND u.user_id = t.tutorial_author_id ORDER BY
    \n*********

  6. #6
    L'avatar di radioradianti
    radioradianti non è connesso Utente storico
    Data registrazione
    26-11-2003
    Residenza
    Roma
    Messaggi
    1,000

    Predefinito

    Come pensavo la query non è completa, mancano infatti i criteri di ordinamento della clausola "ORDER BY".

    Putroppo non ho modo di verificare il codice che mi hai linkato in quanto non ho e non uso PHPBB.

    In ogni caso le varibili che dovrebbero fornire i criteri di ordinamento sono dichiarate come globali

    Codice PHP:
    global $tutorial_news_sort_method_extra, $tutorial_news_sort_method, $tutorial_news_sort_par............
    e quindi da qualche parte dovrà pur essere assegnato loro un valore, di più non so dirti.

    Se non ti interessa l'ordinamento puoi commentare la parte relativa all' "else" della "if" :

    Codice PHP:
    if ( defined( 'IN_ADMIN' ) )
    {
    $sql .= " ORDER BY t.tutorial_id";
    }
    /*else
    {
    $sql .= " ORDER BY " . $tutorial_news_sort_method_extra . $tutorial_news_sort_method . $tutorial_news_sort_par . "";
    }*/
    è sicuramente una cosa poco elegante e diciamocelo pessima come soluzione, ma senza il codice completo è difficile fare un debug.

    Ciao

    Leandro

    E' on line il numero 12 di Topolinux - Totalmente rinnovato!
    TopoLinux è anche chat! irc.azzurra.org canale #topolinux
    La semplicità di questo dono è inversamente proporzionale alla qualità della nostra amicizia

  7. #7
    Guest

    Predefinito

    Non mi interessa per roa, poi nel caso vedrò come fare grazie mille, ora ho un altro problema che esporrò in un altro topic perchè diverso

Regole di scrittura

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