Visualizzazione dei risultati da 1 a 9 su 9

Discussione: modificare un record

  1. #1

    modificare un record

    Salve a tutti, cerco un aiuto per un problema che mi sta facendo impazzire anche perchè sono convinto l'errore che commetto sia molto banale:
    sto creando un database per archiviare delle schede e dovevo
    1) creare un form per poter inserire i dati all'interno della tabella (fatto! i dati vengono inseriti regolarmente)
    2) avere la possibilità di visualizzare un archivio delle schede inserite in una tabella html e da qui prelevare un singolo record per cancellarlo (fatto!) stamparlo su un foglio pdf (fatto!) inserire tutti i campi del record all'interno di un form identico a quello di inserimento ma cambiando action="inserisci.php" con action="modificato.php" (fatto1) per poter, da qui, modificare i dati del record (ecco il problema).
    codice di modificato.php

    $cognome = mysql_escape_string($_POST[T1]);
    $nome = mysql_escape_string($_POST[T2]);
    $cartella =$_POST[cart];
    $db = mysql_connect('localhost', 'root', '');
    //per comodità ho ridotto la stringa
    $sqlinser= "UPTADE foglio SET nome = $nome, cognome = $cognome WHERE cartella = $cartella";
    mysql_db_query("dimissione",$sqlinser);
    $num = mysql_affected_rows();
    if ($num>0)
    echo "errore nella connessione al database";
    else
    echo "query effettuata regolarmente
    ";
    // stampo la stringa ed il numero dei record modificati per capire cosa succede
    echo $sqlinser;
    echo $num;
    mysql_close($db);
    ?>

    ED ecco cosa succede:
    UPTADE foglio SET nome = giuseppe, cognome = miranda WHERE cartella = 765
    query effettuata regolarmente
    numero righe -1
    ma della modifica niente.
    Aggiungo che la versione php è il 5 (XAMPP)
    Grazie per l'aiuto

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    $sqlinser= "UPTADE foglio SET nome = '$nome', cognome = '$cognome' WHERE cartella = $cartella";

    usa mysql_query anzichè mysql_db_query che è una funzione deprecata.

  3. #3
    Scusate ma ho appena notato che la risposta che mi da
    "query effettuata regolarmente" è del tutto normale (ho sbagliato ad inserire le condizioni) ma il problema resta

  4. #4
    Grazie nicola75ss sei stato più veloce tu a rispondermi che io a correggere il post; comunque le ho provate tutte e adesso la risposta è
    Warning: mysql_query() expects parameter 2 to be resource, string given in C:\xampp\htdocs\dimissione\modificato.php on line 37

    UPTADE foglio SET nome = 'giuseppe', cognome = 'mirandajjjjj' WHERE cartella = 765
    query effettuata regolarmente
    numero righe 0
    ancora grazie!

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Avevo guardato solo la riga della query senza tutto il contorno.
    mysql_affected_rows() restituisce il numero di righe "affette" dall'aggiornamento.

    Quindi

    if ($num>0)
    echo "errore nella connessione al database";
    else ...

    è sbagliato. Se il valore è maggiore di 0 significa che l'aggiornamento è avvenuto.

    Semplificando al massimo il tuo problema prova così

    Codice PHP:
    $cognome $_POST['T1'];
    $nome $_POST['T2'];
    $cartella =$_POST['cart'];
    $db mysql_connect('localhost''root''');
    mysql_select_db('nome_database');
    $sqlinsermysql_query("UPTADE foglio SET nome = '$nome', cognome = '$cognome' WHERE cartella = $cartella") or die(mysql_error()); 

  6. #6
    Grazie Nicola, adesso non ho la possibilità di testarlo ma appena posso ti darò l'esito.

  7. #7
    Ancora niente,

    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 'UPTADE foglio SET nome = 'giuseppe', cognome = 'miranda' WHERE cartella = 765' at line 1

    le funzioni mysql_connect(), mysql_select_db(), mysql_query() le ho già utilizzate per l'inserimento e funziana correttamente quindi il server MySQL non dovrebbe aver problemi ad intercettarle. Ho provato anche mysql_query(nome_database, nome_connessione) come ho fatto per l'inserimento ma visto il tipo di errore il problema dovrebbe stare nella stringa della query. Ho provato in tutti i modi (credo)
    cambiando gli apici, spezzando la stringa ecc. Mi viene un dubbio: ma le variabili (cognome, nome e cartella) che io ricevo dal form vanno bene?

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    ehm update, errore di digitazione.

    edit. Anzi errore di copia incolla, non ci avevo fatto caso che avevi scritto così.

  9. #9
    il codice lo puoi rileggere un milione di volte ma se non è un'altra persona che te lo legge, questi errori rischi di non beccarli mai! Funziona regolarmente! Grazie mille Nicola!

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.