Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Errore sintassi query

  1. #1

    Errore sintassi query

    Scusate il disturbo, qlkn mi può aiutare?

    Cerco di eseguire qst query ma mi restituisce un errore di sintassi ke nn riesco a vedere .

    $sql = "SELECT SQL_CALC_FOUND_ROWS ".
    "f.id, f.no, f.v, f.n, f.c, " .
    "f.ci, f.ns, f.des, t.tipol " .
    "FROM fprincipale f " .
    "LEFT JOIN tipologia t " .
    "ON f.prov_id=$p AND f.tipologia_id=$t " .
    "ORDER BY f.id " .
    "LIMIT $start,$limit";

    Quando la eseguo restituisce:

    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 f.tipologia_id= ORDER BY f.id LIMIT ,' at line 1

    Un errore di sintassi vero? ma nn capisco dove sbaglio . Grazie a tutti.

  2. #2

  3. #3
    "f.tipologia_id= a cosa?"


    dovrebbe essere uguale alla variabile $t ke passo alla funzione di cui fa parte la query, la selezione dei record vorrei avvenisse tramite le variabili $p e $t.

    Cmq Filippo grazie, tenterò di abilitare la notifica di errore. Pensavo ke bastasse il messaggio di errore postato

  4. #4
    Filippo ho fatto cm suggerivi tu ed ho attivato la notifica di errori. Mi da:

    Notice: Undefined variable: p in C:\xampp\htdocs\f\funzioni.php on line 51

    Notice: Undefined variable: t in C:\xampp\htdocs\f\funzioni.php on line 51

    Notice: Undefined variable: start in C:\xampp\htdocs\f\funzioni.php on line 53

    Notice: Undefined variable: limit in C:\xampp\htdocs\f\funzioni.php on line 53
    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 f.tipologia_id= ORDER BY f.id LIMIT ,' at line 1

    Incollo anke l'inizio della funzione di paginazione, credo di aver sbagliato il modo in cui si passano le variabili alla funzion . Puoi dargli un okkiata x favore?

    function creaRisultati($p, $t) {
    global $t;
    global $p;
    global $limit;

    if (isset($_GET['page'])) {
    $page = $_GET['page'];
    } else {
    $page = 1;
    }
    if ($limit == "") $limit = 25;
    $start = ($page - 1) * $limit;
    }

  5. #5
    Scusate ma nessuno riesce a dirmi dove sbaglio? :master:

  6. #6
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Hai le idee assai confuse su come funzionano le funzioni.
    Comunque per vedere qual era il problema bastava un "echo $sql", sicuramente hai le variabili non valorizzate e l'errore ti derivava da $p prima che da $t


    Per le funzioni prova a dare un'occhiata qui

  7. #7
    Grazie x avermi risposto Luca, è vero sono alle prime armi e sto cercando di capire bene il meccanismo di tutto.
    Sì il fatto ke il messaggio di errore riportasse le variabili cm undefined mi ha fatto pensare ke nn avessero un valore, qll ke però nn ho capito ( porta pazienza ma qll ovvio e banale x te nn lo è x un neofita assoluto come me) è ke io ho incluso il file funzioni nella mia pagina, ho assegnato le variabili $p=3 $t=5 all'inizio del codice per poi rikiamare la funzione con echo creaRisultati($p,$t); essendo il file funzioni incluso in tutte le pagine, qnd tento di aprirne una qualsiasi, anke nn rikiamante la funzione incriminata, mi da ql messaggio di errore. Luca probabilmente penserai ke devo studiare ancora moooooolto e ti do pienamente ragione ma davvero nn capisco il mio errore .

  8. #8
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Intanto vedi di scrivere in italiano, se vuoi che qualcuno ti risponda

    Poi: insensato dichiarare le variabili global quando sono le stesse che hai passato alla funzione. In generale, evita SEMPRE di usare global; se ha una funzione ha bisogno di un dato, glielo devi passare.
    Dopodiché per capire qual è l'errore devi postare tutto il codice. E usa il tag php altrimenti non si capisce niente

  9. #9
    Allora "caro" Luca, prima di tt nn mi pare ne di aver sbagliato a coniugare i verbi ne tntmeno la sintassi delle frasi, anke se a mio avviso, qst nn dovrebbe essere un aspetto discriminante, a proposito... okkio all'utilizzo della "h" . Punto secondo, da come hai risposto hai dimostrato solo grande arroganza e superbia (cm diceva un saggio: "dono degli dei agli uomini da poco"), dal tono del tuo messaggio sembri qs scocciato di dover rispondere a domande x te banali (e sottolineo x te), a mio avviso se un utente esperto del forum decide di dare una mano a qlkn è x gentilezza e nn x esibire la propria preparazione. Nn voglio innescare una polemica, a mio avviso inutile, con te ma era x me doveroso risponderti essendo rimasto molto amareggiato dal tuo atteggiamento ke, x fortuna, nn mi è mai capitato di trovare su un forum. Spero ke la spiacevole discussione nn vada oltre. Mi scuso cn gli altri utenti, ke loro malgrado siano stato resi partecipi avendo letto il post.

    Mi farebbe piacere se qlkn altro volesse darmi una mano a capire il mio errore.

    Grazie a tutti.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.