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

    [PHP/MySQL] problema con update table

    ciao, ho un piccolo problema di interazione php-my sql....

    ho una tabella sql...
    la query di lettura del contenuto di questa tabella utenti, funziona...
    poi ho bisogno di una pagina, tramite la quale, io possa andare a modificare lo stato del singolo utente...
    allora eseguo questa query:

    Codice PHP:
    $abs="UPDATE 'utenti' SET 'state'=$S WHERE CONCAT 'user'=$N";
    if (
    mysql_query($abs)){
    header("Refresh: 2;URL=http://alsith.altervista.org/calcetto/convocazione.php");
    echo 
    "<p align=center>Grazie per aver dato la tua conferma
    "
    ;
    }else{
    header("Refresh: 2;URL=http://alsith.altervista.org/calcetto/conferma.php");
    echo 
    "C'è stato un problema. Riprovare. 

    "
    ;
    echo 
    "Se il problema persiste contattare.";

    e puntualmente, mi segnala che c'è stato un problema...
    dove può essere questo??

  2. #2
    Ciao AlSith,
    prova a togliere gli apici dal nome_tabella e dal nome_campo, non dovrebbero essere lì, cmq per sapere dov'è l'errore utilizza le funzioni msql_error() dopo l'echo e ti verrà indicata la riga e il tipo di errore commesso dall'interprete PHP. se devi pubblicare le pagine ricordati di eliminare poi il controllo dell'errore. E' antipatico per il resto della ciurma...

    ciao
    Ginko75

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Oltre agli apici che non ci vogliono come ti è già stato detto, user è una parola riservata. Andrebbe evitata o, sei vuoi lasciare il campo con quel nome, racchiuso tra backtick ` (alt + 96).
    Il concat poi non ho capito a cosa ti serva.

    codice:
    UPDATE utenti SET state='$S' WHERE `user`='$N'

  4. #4
    niente da fare raga...continua a nn funzionare...

    nei mesi scorsi, AlterVista, ke mi passa spazio e tutto, ha aggiornato tutto al php 5.0...può essere ke mysql fa le bizze???

    Però, altre query di lettura della medesima tabella, funzionano...solo questa di set no...

    ora ho messo

    Codice PHP:
    $abs="UPDATE utenti SET state='$S' WHERE 'user'=$N"
    ma ancora niente da fare...

  5. #5
    ho avuto lo stesso problema, mi posti il codice della query, il passaggio delle variabili e come inserisci tutto nel db. I valori di set da dove li prendi ? sono variabili ? delle strignhe ?
    Dammi queste info e crdo che posso darti una mano.

    Ciao
    Ginko75

  6. #6
    ok...grazie Ginko...

    ecco il listato completo:
    Codice PHP:
    include("config.php");//includo il file ke mi consente di connettermi al db
    $N=trim(stripslashes($_POST["T1"]));//salvo il contenuto della casella di testo contenente il nome
    $P=trim(stripslashes($_POST["T2"]));//salvo il contenuto della casella di testo contenente la password
    $S=trim(stripslashes($_POST["D1"]));//salvo il contenuto della casella di testo contenente il nuovo stato

    $abs="UPDATE utenti SET state='$S' WHERE 'user'='$N'";//eseguo la query: cambia lo state col nuovo stato($S) nella tabella utenti dove l'user è $N
    if (mysql_query($abs)){//verifica se la query è andata a buon fine
    header("Refresh: 2;URL=http://alsith.altervista.org/calcetto/convocazione.php");
    echo 
    "<p align=center>Grazie per aver dato la tua conferma
    "
    ;
    }else{
    header("Refresh: 2;URL=http://alsith.altervista.org/calcetto/conferma.php");
    echo 
    "C'è stato un problema. Riprovare. 

    "
    ;
    echo 
    "Se il problema persiste contattare Alfonso.";

    ho aggiunto dei miei commenti, in cui spiego le mie intenzioni (spero di averle rispettate con un codice esatto...)...le caselle di testo da cui leggo i parametri, fanno parte della pagina htm ke poi richiama il file php...

    vedi se ci capisci qlcosa...grazie!!

  7. #7
    Originariamente inviato da nicola75ss
    Oltre agli apici che non ci vogliono come ti è già stato detto, user è una parola riservata. Andrebbe evitata o, sei vuoi lasciare il campo con quel nome, racchiuso tra backtick ` (alt + 96).
    Il concat poi non ho capito a cosa ti serva.

    codice:
    UPDATE utenti SET state='$S' WHERE `user`='$N'
    @AlSith

    hai usato apici e non backticks....
    .

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

  8. #8
    ciao
    prima di effettuare la query, inserisic questa parte di codice:

    //Filtro le stringhe per il passaggio alla query
    $N=mysql_escape_string($N);
    $P=mysql_escape_string($P);
    $S=mysql_escape_string($S);


    Fammi sapere se va bene, perchè io uso l'estensione msqli e la sintassi è differente, ma credo che la logica di funzionamento sia la stessa.

    Ciao
    Ginko

  9. #9
    Niente da fare, Ginko.....

    ...ho messo anke i backticks e i tre passaggi ke hai detto tu, nn va...
    mi entra sempre nella condizione falsa, e quindi mi mostra la notifica di errore, e ricarica la pagina di richiamo...ke fare????? :master:

  10. #10
    Originariamente inviato da AlSith
    Niente da fare, Ginko.....

    ...ho messo anke i backticks e i tre passaggi ke hai detto tu, nn va...
    mi entra sempre nella condizione falsa, e quindi mi mostra la notifica di errore, e ricarica la pagina di richiamo...ke fare????? :master:
    metti la segnalazione di errore ...

    e stampa la query.

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

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.