Visualizzazione dei risultati da 1 a 10 su 10

Discussione: stranezza query

  1. #1
    Utente di HTML.it L'avatar di dany0
    Registrato dal
    Feb 2003
    Messaggi
    422

    stranezza query

    ciao a tutti ieri sera mi è capitata una cosa strana a cui ancora non so dare spiegazione....

    io ho questo codice :

    $query5="insert into tb_tornei (nome,data_inizio,data_open_login,data_close_login ,data_conferma,max_num_players,players,p_confirmed ,stato,tipo,tipo_scontri,descrizione,p_x_girone,v_ x_girone,bannerimg,bannerflash,principale) values('".$nome."',".$data_inizio.",".$data_apertu ra.",".$data_chiusura.",".$data_conferma.",".$nmax pl.",0,0,4,".$tipo.",".$spmp.",'".$messaggio."',". $plxg.",".$vin.",'".$img."','".$bannerflash."',$pr incipale)";
    echo $query5;
    $crea_torneo=mysql_query($query5,$conn);
    if(!$crea_torneo) die (errore($pagina,"query creazione torneo",mysql_error($conn)));

    il mistero è che la funzione "errore" mi torna e mi invia via mail un errore (quello di seguito)

    L'utente xxx ha riscontrato nella pagina y.php
    nella query creazione torneo
    il seguente errore : 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 '0,0,4,,,'',,,'','',)' at line 2

    ora fin qui potrebbe anche essere tutto normale....il punto è che l'echo della query prima di essere eseguita ritorna :

    insert into tb_tornei (nome,data_inizio,data_open_login,data_close_login ,data_conferma,max_num_players,players,p_confirmed ,stato,tipo,tipo_scontri,descrizione,p_x_girone,v_ x_girone,bannerimg,bannerflash,principale) values('test',1293840000,1293840000,1293840000,129 3840000,16,0,0,4,1,1,'',2,2,'','',0)

    e che poi comunque nel database la riga viene scritta correttamente!!!

    il problema è quindi che col die sollevo un'eccezione da un errore che mi torna ma che non c'è :S

    se poi anche facendo l'echo della query (stampata correttamente) e passando $query5." ".mysql_error alla funzione "errore", via mail mi arriva questo

    L'utente xxx
    ha riscontrato nella pagina y.php
    nella query creazione torneo
    il seguente errore : insert into tb_tornei(nome,data_inizio,data_open_login,data_cl ose_login,data_conferma,max_num_players,players,p_ confirmed,stato,tipo,tipo_scontri,descrizione,p_x_ girone,v_x_girone,bannerimg,bannerflash,principale ) values('Torneo #83',943916400,943916400,943916400,943916400,,0,0, 4,,,'',,,'','',) You have an error in your SQL syntax; check the manual that corresponds to your MySQL

    quindi è come se si perdesse i valori da una riga all'altra (anche se poi ripeto l'inserimento della riga lo fa con i valori corretti!!!!!!)

    come soluzione temporanea ho tolto il die ecc al fine di far eseguire la query e proseguire la parte dopo....

    NB : il DB del cliente su cui veniva eseguita la query ha oltrepassato la dimensione massima acquistata ed ho pensato che potesse essere questa la causa del problema....la cosa strana è che però appunto la riga viene scritta correttamente.....


  2. #2
    943916400,,0,0,4,,,'',,,'','',)

    potrebbe essere causato dai campi vuoti senza default per esempio $nmaxpl dovrebbe essere 0 se numerico e non vuoto. Forse hai cambiato la versione di mysql ed ora la configurazione prevede un sql-mode diverso dal precedente.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it L'avatar di dany0
    Registrato dal
    Feb 2003
    Messaggi
    422
    si certo, c'è però un piccolo particolare....come scritto , stampo la query che gli passo e ciò che mi viene stampato a video (come riportato) è la query corretta e completa di tutti i valori!!!! :S

  4. #4
    Originariamente inviato da dany0
    si certo, c'è però un piccolo particolare....come scritto , stampo la query che gli passo e ciò che mi viene stampato a video (come riportato) è la query corretta e completa di tutti i valori!!!! :S
    hai dei ,,, cioe' campi vuoti. Se sono numerici non possono essere vuoti ma devono avere uno zero.

    943916400,0,0,0,4,0,0,'',0,0,'','',)

    le stringhe possono anche essere vuote il numerico no.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it L'avatar di dany0
    Registrato dal
    Feb 2003
    Messaggi
    422
    emh.... ripeto

    $query5="insert into tb_tornei (nome,data_inizio,data_open_login,data_close_login ,data_conferma,max_num_players,players,p_confirmed ,stato,tipo,tipo_scontri,descrizione,p_x_girone,v_ x_girone,bannerimg,bannerflash,principale) values('".$nome."',".$data_inizio.",".$data_apertu ra.",".$data_chiusura.",".$data_conferma.",".$nmax pl.",0,0,4,".$tipo.",".$spmp.",'".$messaggio."',". $plxg.",".$vin.",'".$img."','".$bannerflash."',$pr incipale)";
    echo $query5;
    $crea_torneo=mysql_query($query5,$conn);
    if(!$crea_torneo) die (errore($pagina,"query creazione torneo",mysql_error($conn)));



    insert into tb_tornei (nome,data_inizio,data_open_login,data_close_login ,data_conferma,max_num_players,players,p_confirmed ,stato,tipo,tipo_scontri,descrizione,p_x_girone,v_ x_girone,bannerimg,bannerflash,principale) values('test',1293840000,1293840000,1293840000,129 3840000,16,0,0,4,1,1,'',2,2,'','',0)


    ho tutti i valori!!! ed infatti nel db vengono scritti....non so perchè torni un errore con giustificazione "non ho i valori"

  6. #6
    metti degli spazi ogni tanto oppure usa il tag [ code] perche' va a pallino il layout del forum ed e' illeggibile.

    ps.... forse l'errore arriva da un'altra parte visto che se mysql_query lo inserisce con l'insert dovrebbe rendere il numero di righe inserite a $crea_query e quindi non puo' essere la riga condizionata da if()

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente di HTML.it L'avatar di dany0
    Registrato dal
    Feb 2003
    Messaggi
    422
    questo

    L'utente xxx
    ha riscontrato nella pagina y.php
    nella query creazione torneo
    il seguente errore : insert into tb_tornei(nome,data_inizio,data_open_login,data_cl ose_login,data_conferma,max_num_players,players,p_ confirmed,stato,tipo,tipo_scontri,descrizione,p_x_ girone,v_x_girone,bannerimg,bannerflash,principale ) values('Torneo #83',943916400,943916400,943916400,943916400,,0,0, 4,,,'',,,'','',) You have an error in your SQL syntax; check the manual that corresponds to your MySQL

    me lo faccio arrivare via mail....ovviamente usando variabili.... no la query che va in errore, un finto errore, è quella....

  8. #8
    Scusa, perchè non posti il codice completo delle classi incriminate invece che spezzoni di codice che dicono tutto e niente? Inoltre, come ti ha fatto notare piero.mac usa il TAG CODE che altrimenti si spagina tutto.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  9. #9
    Utente di HTML.it L'avatar di dany0
    Registrato dal
    Feb 2003
    Messaggi
    422
    si scusate per la spaginazione (non mi fa modificare i post)

    per il codice intero al momento non l'ho qui con me ma fidati che non c'entra con il problema in quanto le variabili sono valorizzate correttamente (come dimostra l'echo della query costruita) ma la query che arriva al mysql_query pare errata. dico pare perchè poi a tutti gli effetti la riga nel db viene scritta correttamente....

    non so cosa possa essere.... lunghezza della query??? sintassi??? dimensione DB oltre il consentito (come scritto)??? la cosa che poi viene inserito tutto correttamente ma torna un errore mi lascia allibito....

  10. #10
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da dany0
    per il codice intero al momento non l'ho qui con me ma fidati che non c'entra con il problema
    tu postalo tutto e vedrai che qualcosa salta fuori

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.