Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    Modifica non effettuata

    Non riesco a modificare i dati di un record in un db mysql...

    ...mi spiego: ho un form per la modifica di dati nel mio db la modifica avviene tramite un pulsante "salva" che ha metodo "post" e action "modifica.php".

    In modifica.php la query in mysql è la seguente:

    codice:
    $query = "Update ditte SET indirizzo_sede= '".$ditta['indirizzo_sede']."', 
    numero_sede= '".$ditta['numero_sede']."', comune_sede= '".$ditta['comune_sede']."', 
    telefono= '".$ditta['telefono']."', fax= '".$ditta['fax']."', 
    cellulare= '".$ditta['cellulare']."', email= '".$ditta['email']."',
    CodiceFiscale= '".$ditta['CodiceFiscale']."', IVA= '".$ditta['IVA']."',
    istat= '".$ditta['istat']."', attivita= '".$ditta['attivita']."',
    servizi= '".$ditta['servizi']."'  WHERE IDDitta = '".$ditta['ID_Ditta']."'";
    e sembra non ci siano errori...

    inoltre mi viene data conferma dell'avvenuta modifica dei dati da questa istruzione:

    codice:
    $ok = mysql_query($query);
        if ($ok){
      	echo ("
    <center><h3>Le modifiche sono state inserite
     correttamente
    Per tornare alla pagina iniziale clicca ");?>    
    ><font color="red">qui.
      </h3>  </center>  <?  
    } else {  	echo ("
    <center><h3><font color=red>Impossibile inserire i dati nella tabella.
     Tornare indietro e riprovare ad inviare la form.</font></h3></center>");  }
    qualcuno potrebbe aiutarmi a trovare l'errore?
    più fellatio

  2. #2
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    ti sei fatto stampare la query per vedere se passano tutti i dati? echo $query = "".... vedi se manca qualcosa.
    metti anche $ok = mysql_query($query) or die (mysql_error()
    La vita e' uno switch();

  3. #3
    Allora ho aggiunto come mi hai consigliato

    codice:
    echo $query = $ditta['indirizzo_sede'];
       ?>
       </br>
       <?
        printf ("Record aggiornati: %d\n", mysql_affected_rows());  
    mysql_query("COMMIT");
        ?>
       </br>
       <?
      $ok = mysql_query($query)  or die ("errore:" . mysql_error());
    ed il risultato è il seguente:

    VIA LANDUCCI
    Record aggiornati: -1
    errore:Errore di sintassi nella query SQL vicino a 'VIA LANDUCCI' linea 1

    Cosa vuol dire?
    più fellatio

  4. #4
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    vai landucci immagino sia il nome del nuovo record. controlla bene. Non e' che hai sbagliato gli apici? o ci sono caratteri strani tipo accento o altro? se ce ne sono puoi provare a mettere nella UPDATE prima del dato: mysql_escape_string($valore) , quindi quel record che corrisponde alla VIA LANDUCCI.

    PS l'echo lo dovresti mettere prima della query. Intendevo di stampare tutta la query per vedere i dati effettivi che passi.
    La vita e' uno switch();

  5. #5
    Allora ho messo prima della query:

    echo $ditta['comune_sede'];

    ke è il dato ke voglio modificare ed effettivamente mi esce il dato modificato

    ma cmq mi da errore:

    errore:Errore di sintassi nella query SQL vicino a 'PISTOIA' linea 1

    ma qual'è quest errore?

    ho gia postato il codice dell'update, tu non ci vedi nessun errore?
    più fellatio

  6. #6
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    devi fare cosi':
    echo $query = "Update ditte SET indirizzo_sede= '".$ditta['indirizzo_sede']."',
    numero_sede= '".$ditta['numero_sede']."', comune_sede= '".$ditta['comune_sede']."',
    telefono= '".$ditta['telefono']."', fax= '".$ditta['fax']."',
    cellulare= '".$ditta['cellulare']."', email= '".$ditta['email']."',
    CodiceFiscale= '".$ditta['CodiceFiscale']."', IVA= '".$ditta['IVA']."',
    istat= '".$ditta['istat']."', attivita= '".$ditta['attivita']."',
    servizi= '".$ditta['servizi']."' WHERE IDDitta = '".$ditta['ID_Ditta']."'";

    poi ti esce tutta la query ma con i valori passati. vai quindi a vedere vicino alla variabile "PISTOIA" e vedi se c'e' qualcosa di strano..
    un errore di sintassi di solito e' la punteggiatura.
    Ps nn e' che il db non accetta i caratteri maiuscoli per un qualche motivo?
    La vita e' uno switch();

  7. #7
    ok mi passa tutti i dati come io li ho modificati ma non sembra ke ci sia alcun errore
    inoltre nel mio db ci sono gia inseriti i caratteri maiuscoli perciò non credo sia questo l'errore.

    ho provato a modificare l'indirizzo anzikè il comune ma continua a darmi errore al comune.
    più fellatio

  8. #8
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    i dati che passi nella query arrivano dalla pagina del form, quindi sono dati post. immagino che a inizio pagina avrai fatto la conversione dei dati post no? da dove arrivano i dati?
    La vita e' uno switch();

  9. #9
    Si i dati inviati dal form sono "post"

    alla pagina ke riceve ho dato questa istruzione:

    import_request_variables ("gP");

    ed ho creato l'array $ditta con quest'altra riga:

    $ditta=&$_POST;

    era questo ke volevi sapere?
    più fellatio

  10. #10
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    http://www.goldenweb.it/manuale_php/...-variables.php

    non sara' per questo? se scrivi (gP) le variabili POST sovrascrivono le variabili GET con il medesimo nome.
    La vita e' uno switch();

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.