Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 18

Discussione: errore query

  1. #1

    errore query

    dunque, ho un database che funziona perfettamente on line, adesso l'ho installato anche in locale ( apache, php, mysql tutto installato correttamente) ma quando cerco di eseguire una query che on line non da problemi, i dati mi vengono scritti sul database ma a video mi da un errore.Credo dipenda dalla diversa versione di mysql che ho in locale ( la 5 ) rispetto al server ( la 4 ), ma davvero non so come venirne a capo.
    ( per altro ho provato a installare la versione 4 in locale ma non ci sono riuscita )



    in pratica tramite un form devo aggiornare delle informazioni relative a degli utenti.

    la query incriminata è la seguente:

    codice:
     <?   
    
      $query="SELECT ID, Attivo, nome, cognome, note, replace(primo,'0000-00-00','')as primo, replace(secondo,'0000-00-00','')as secondo, replace(terzo,'0000-00-00','')as terzo, replace(quarto,'0000-00-00','')as quarto, replace(quinto,'0000-00-00','')as quinto  FROM gradi  where ID=".$_GET['idIscritto'];
    
      mysql_connect("localhost","root","pass")
    
                       or die("Unable to connect to SQL server");
    
        mysql_select_db("Gestione") or die("Unable to select database");
    
      $user=mysql_query($query) or die("Select Failed - Gradi");
    
       $iscritto= mysql_fetch_array($user);
    
    ?>


    quando la eseguo mi da : Select Failed - Gradi, anche se i dati vengono inseriti nel database correttamente.
    Se al posto di or die("Select Failed - Gradi"); uso: or die(mysql_error());
    l'errore che mi da è:

    codice:
    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 1
    Ho guardato nel manuale di mysql ma è del tutto inutile visto che all'errore corrispondente dice solo:
    Error: 1064 SQLSTATE: 42000 (ER_PARSE_ERROR)

    Message: %s near '%s' at line %d

    il che non mi aiuta minimamente


    Sinceramente non capisco cosa ci sia che non gli va a genio..

    qualcuno sa darmi una mano? È una settiamana che ci litigo.. sono alla frutta.. aiutooooo!!!

  2. #2
    quando la eseguo mi da : Select Failed - Gradi, anche se i dati vengono inseriti nel database correttamente
    I dati vengono inseriti nel db con una SELECT? Mi sembra strano

  3. #3
    Originariamente inviato da cubalibre810
    I dati vengono inseriti nel db con una SELECT? Mi sembra strano
    hai ragione, scusa è che la struttura del tutto è un po' complessa, il form all'invio richiama un'altra pagina php che esegue un UPDATE
    ma ai fini di questo problema non mi sembrava rilevante
    essere precisi: questo è tutto il codice php da cui nasce l'errore:
    codice:
     <?php 			
      $query="SELECT ID, Attivo, nome, cognome, note, replace(primo,'0000-00-00','')as primo, replace(secondo,'0000-00-00','')as secondo, replace(terzo,'0000-00-00','')as terzo, replace(quarto,'0000-00-00','')as quarto, replace(quinto,'0000-00-00','')as quinto, replace(sesto,'0000-00-00','')as sesto, replace(settimo,'0000-00-00','')as settimo, replace(ottavo,'0000-00-00','')as ottavo, replace(nono,'0000-00-00','')as nono, replace(decimo,'0000-00-00','')as decimo, replace(undicesimo,'0000-00-00','')as undicesimo, replace(dodicesimo,'0000-00-00','')as dodicesimo, replace(2sezCS,'0000-00-00','')as 2sezCS, replace(3sezCS,'0000-00-00','')as 3sezCS, replace(4sezCS,'0000-00-00','')as 4sezCS, replace(Chi_Jerk_1,'0000-00-00','')as Chi_Jerk_1, replace(1GT,'0000-00-00','')as 1GT, replace(5sezCS,'0000-00-00','')as 5sezCS, replace(6sezCS,'0000-00-00','')as 6sezCS, replace(7sezCS,'0000-00-00','')as 7sezCS, replace(Biu_Tzee,'0000-00-00','')as Biu_Tzee, replace(Chi_Jerk_2,'0000-00-00','')as Chi_Jerk_2, replace(2GT,'0000-00-00','')as 2GT, replace(1BTCS,'0000-00-00','')as 1BTCS, replace(2BTCS,'0000-00-00','')as 2BTCS, replace(3BTCS,'0000-00-00','')as 3BTCS, replace(4BTCS,'0000-00-00','')as 4BTCS, replace(5BTCS,'0000-00-00','')as 5BTCS, replace(Chi_Jerk_3,'0000-00-00','')as Chi_Jerk_3, replace(3GT,'0000-00-00','')as 3GT, replace(1MYCF,'0000-00-00','')as 1MYCF, replace(2MYCF,'0000-00-00','')as 2MYCF, replace(3MYCF,'0000-00-00','')as 3MYCF, replace(4MYCF,'0000-00-00','')as 4MYCF, replace(5MYCF,'0000-00-00','')as 5MYCF, replace(6MYCF,'0000-00-00','')as 6MYCF, replace(7MYCF,'0000-00-00','')as 7MYCF, replace(8MYCF,'0000-00-00','')as 8MYCF, replace(Chi_Jerk_4,'0000-00-00','')as Chi_Jerk_4, replace(4GT,'0000-00-00','')as 4GT, replace(MYCF_app,'0000-00-00','')as MYCF_app, replace(App_SIST,'0000-00-00','')as App_SIST, replace(5ML,'0000-00-00','')as 5ML   FROM gradi where ID=".$_GET['idIscritto'];
      mysql_connect("localhost","root","pass")
                       or die("Unable to connect to SQL server");
        mysql_select_db("gestione") or die("Unable to select database");
      $user=mysql_query($query ) or die(mysql_error());
       $iscritto= mysql_fetch_array($user);
    ?>

    all'invio del form viene chiamata una pagina che contiene:
    codice:
     					
    				<?php 
     mysql_connect("localhost","root","pass")
                       or die("Unable to connect to SQL server");
        mysql_select_db("gestione") or die("Unable to select database");
    $primo=$_POST['primo'];    
    $secondo=$_POST['secondo'];
    $terzo=$_POST['terzo'];
    $quarto=$_POST['quarto'];
    $quinto=$_POST['quinto'];
    $sesto=$_POST['sesto'];	
    $settimo=$_POST['settimo'];
    $ottavo=$_POST['ottavo'];
    $nono=$_POST['nono'];
    $decimo=$_POST['decimo'];
    $undicesimo=$_POST['undicesimo'];
    $dodicesimo=$_POST['dodicesimo'];
    $sezCS2=$_POST['2sezCS'];
    $sezCS3=$_POST['3sezCS'];
    $sezCS4=$_POST['4sezCS'];
    $sezCS5=$_POST['5sezCS'];
    $sezCS6=$_POST['6sezCS'];
    $sezCS7=$_POST['7sezCS'];
    $Chi_Jerk_1=$_POST['Chi_Jerk_1'];
    $Biu_Tzee=$_POST['Biu_Tzee'];
    $Chi_Jerk_2=$_POST['Chi_Jerk_2'];
    $Chi_Jerk_3=$_POST['Chi_Jerk_3'];
    $Chi_Jerk_4=$_POST['Chi_Jerk_4'];
    $BTCS1=$_POST['1BTCS'];
    $BTCS2=$_POST['2BTCS'];
    $BTCS3=$_POST['3BTCS'];
    $BTCS4=$_POST['4BTCS'];
    $BTCS5=$_POST['5BTCS'];
    $MYCF1=$_POST['1MYCF'];
    $MYCF2=$_POST['2MYCF'];
    $MYCF3=$_POST['3MYCF'];
    $MYCF4=$_POST['4MYCF'];
    $MYCF5=$_POST['5MYCF'];
    $MYCF6=$_POST['6MYCF'];
    $MYCF7=$_POST['7MYCF'];
    $MYCF8=$_POST['8MYCF'];
    $MYCF_app=$_POST['MYCF_app'];
    $App_SIST=$_POST['App_SIST'];
    $GT1=$_POST['1GT'];
    $GT2=$_POST['2GT'];
    $GT3=$_POST['3GT'];
    $GT4=$_POST['4GT'];
    $ML5=$_POST['5ML'];
    $ID=$_POST['ID'];
    $note=$_POST['note'];
    $sqlquery = "UPDATE  gradi set  primo='$primo', secondo='$secondo', terzo='$terzo', quarto='$quarto', quinto='$quinto', sesto='$sesto', settimo='$settimo', ottavo='$ottavo', nono='$nono', decimo='$decimo', undicesimo='$undicesimo', dodicesimo='$dodicesimo', 2sezCS='$sezCS2', 3sezCS='$sezCS3', 4sezCS='$sezCS4', 5sezCS='$sezCS5', 6sezCS='$sezCS6', 7sezCS='$sezCS7', Biu_Tzee='$Biu_Tzee', Chi_Jerk_1='$Chi_Jerk_1',  Chi_Jerk_2='$Chi_Jerk_2',  Chi_Jerk_3='$Chi_Jerk_3',  Chi_Jerk_4='$Chi_Jerk_4',  1BTCS='$BTCS1', 2BTCS='$BTCS2', 3BTCS='$BTCS3', 4BTCS='$BTCS4', 5BTCS='$BTCS5', 1MYCF='$MYCF1', 2MYCF='$MYCF2', 3MYCF='$MYCF3', 4MYCF='$MYCF4', 5MYCF='$MYCF5', 6MYCF='$MYCF6', 7MYCF='$MYCF7', 8MYCF='$MYCF8', MYCF_app='$MYCF_app', App_SIST='$App_SIST', 1GT='$GT1', 2GT='$GT2', 3GT='$GT3', 4GT='$GT4', 5ML='$ML5' , note='$note' WHERE ID =$ID";
    $results = mysql_query($sqlquery); 
    ?>
    i dati nel database vengono scritti, ma nella pagina dove inserisco i dati ( la prima) appare quell'errore del cavolo

  4. #4
    mi sorge un dubbio.. visto che è la seconda pagina che ricarica la prima con :

    codice:
     <body onload="location.href=url='gradi.php?idIscritto=<?php  echo $ID."&word=".$word."&pg=".$_POST['pg']; ?>'">
    non è che c'è qualcosa di sbagliato qui?

  5. #5
    allora, decisamente il problema è lì, perchè se al posto del body onLoad metto un banale link:

    codice:
     ">indietro
    funziona tutto..
    ora potreste dire che il problema è risolto.. ma io sono tignosa.. perchè quel comando body onload non funziona???

  6. #6
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    prova così, forse è questo

    Codice PHP:
    <body onload="location.href='gradi.php?idIscritto=<?php  echo $ID."&word=".$word."&pg=".$_POST['pg']; ?>'">
    ho tolto "url"... prova un po'

  7. #7
    Originariamente inviato da clasku
    prova così, forse è questo

    Codice PHP:
    <body onload="location.href='gradi.php?idIscritto=<?php  echo $ID."&word=".$word."&pg=".$_POST['pg']; ?>'">
    ho tolto "url"... prova un po'
    niente da fare, mi ridà l'errore
    lo so che sembro matta, ma devo capire perchè
    sul server on line non lo fa.. ci deve pur essere un motivo...

  8. #8
    prova a fare una echo della query che ti da problemi.

    Così a naso magari il "$_GET['idIscritto']" non lo digerisce molto bene.

    Purtroppo quando si è in locale c'è il rischio che le pagine si carichino in maniera differente che su un server web (magari si carica troppo velocemente e non gestisce tutto al meglio..)

    Non credo che sia un problema di versione di MYSQL, in quanto visto che tramite link il tutto funziona.
    Pare quasi un problema di PHP.

    eccoti il codice con l'echo....
    Codice PHP:
     <?   
     $query
    ="SELECT ID, Attivo, nome, cognome, note, replace(primo,'0000-00-00','')as primo, replace(secondo,'0000-00-00','')as secondo, replace(terzo,'0000-00-00','')as terzo, replace(quarto,'0000-00-00','')as quarto, replace(quinto,'0000-00-00','')as quinto  FROM gradi  where ID=".$_GET['idIscritto'];

     
    mysql_connect("localhost","root","pass")or die("Unable to connect to SQL server");

     
    mysql_select_db("Gestione") or die("Unable to select database");
     echo 
    "#",$query,"#
    "
    ;
     
    $user=mysql_query($query) or die("Select Failed - Gradi");
     
    $iscrittomysql_fetch_array($user);
    ?>
    Posta quello che ti stampa tra i "##".

  9. #9
    mi stampa tutto ciò:

    codice:
     #SELECT ID, Attivo, nome, cognome, note, replace(primo,'0000-00-00','')as primo, replace(secondo,'0000-00-00','')as secondo, replace(terzo,'0000-00-00','')as terzo, replace(quarto,'0000-00-00','')as quarto, replace(quinto,'0000-00-00','')as quinto, replace(sesto,'0000-00-00','')as sesto, replace(settimo,'0000-00-00','')as settimo, replace(ottavo,'0000-00-00','')as ottavo, replace(nono,'0000-00-00','')as nono, replace(decimo,'0000-00-00','')as decimo, replace(undicesimo,'0000-00-00','')as undicesimo, replace(dodicesimo,'0000-00-00','')as dodicesimo, replace(2sezCS,'0000-00-00','')as 2sezCS, replace(3sezCS,'0000-00-00','')as 3sezCS, replace(4sezCS,'0000-00-00','')as 4sezCS, replace(Chi_Jerk_1,'0000-00-00','')as Chi_Jerk_1, replace(1GT,'0000-00-00','')as 1GT, replace(5sezCS,'0000-00-00','')as 5sezCS, replace(6sezCS,'0000-00-00','')as 6sezCS, replace(7sezCS,'0000-00-00','')as 7sezCS, replace(Biu_Tzee,'0000-00-00','')as Biu_Tzee, replace(Chi_Jerk_2,'0000-00-00','')as Chi_Jerk_2, replace(2GT,'0000-00-00','')as 2GT, replace(1BTCS,'0000-00-00','')as 1BTCS, replace(2BTCS,'0000-00-00','')as 2BTCS, replace(3BTCS,'0000-00-00','')as 3BTCS, replace(4BTCS,'0000-00-00','')as 4BTCS, replace(5BTCS,'0000-00-00','')as 5BTCS, replace(Chi_Jerk_3,'0000-00-00','')as Chi_Jerk_3, replace(3GT,'0000-00-00','')as 3GT, replace(1MYCF,'0000-00-00','')as 1MYCF, replace(2MYCF,'0000-00-00','')as 2MYCF, replace(3MYCF,'0000-00-00','')as 3MYCF, replace(4MYCF,'0000-00-00','')as 4MYCF, replace(5MYCF,'0000-00-00','')as 5MYCF, replace(6MYCF,'0000-00-00','')as 6MYCF, replace(7MYCF,'0000-00-00','')as 7MYCF, replace(8MYCF,'0000-00-00','')as 8MYCF, replace(Chi_Jerk_4,'0000-00-00','')as Chi_Jerk_4, replace(4GT,'0000-00-00','')as 4GT, replace(MYCF_app,'0000-00-00','')as MYCF_app, replace(App_SIST,'0000-00-00','')as App_SIST, replace(5ML,'0000-00-00','')as 5ML FROM gradi where ID=#
    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 1
    sembra come se non vedesse i dati, o l'ID ... non capisco davvero..

    ps: l'id però alla pagina arriva, ho controllato, appena apro la pagina per modificare i dati malefici se gli chiedo di farmi un echo dell'id lo vede regolarmente...

  10. #10
    Proviamo a fare una prova.

    Nella pagina che ti rimanda qua, inceve di utilizzare "<body onload=>, prova ad utilizzare il seguente script javascript per reindirizzarti automaticamente.

    Codice PHP:
    <?php
    echo "Tra 5 secondi vado alla pagina: 'gradi.php?idIscritto=$ID&word=$word&pg=".$_POST['pg']."'";
    echo 
    "<script>";
    echo 
    "function sposta() {"
    echo "location.href ='gradi.php?idIscritto=$ID&word=$word&pg=".$_POST['pg']."'";
    echo 
    "}";
    echo 
    "window.setTimeout('sposta()', 5000);";
    echo 
    "</script>";
    ?>
    Metti il codice dentro al BODY ed ovviamente dopo tutte le operazioni che devi fare.

    In pratica ti reindirizza alla pagina dopo 5 secondi dall'esecuzione dello script javascript.

    Ti ho messo un'echo dell'indirizzo a cui ritorna, per meglio verificare.

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.