Visualizzazione risultati 1 fino 11 di 11

Discussione: Problema UPDATE database

  1. #1
    Guest

    Predefinito Problema UPDATE database

    Ciao a tutti, io ho fatto una pagina che modifica un determinato campo di un determinato utente, che va alla pagina con il seguente script php:

    Codice PHP:

    <?php

    include('include/database_user_connection.php');

    $id = "$_POST[id]";
    $username = "$_POST[username]";
    $password = "$_POST[password]";
    $nome = "$_POST[nome]";
    $squadra = "$_POST[squadra]";
    $campionato = "$_POST[campionato]";
    $email = "$_POST[email]";
    $privilegi = "$_POST[privilegi]";

    if(!empty(
    $username)
    mysql_query("UPDATE utenti SET username = '.$username.' WHERE id = '.$id.'");
    elseif(!empty(
    $password)
    mysql_query("UPDATE utenti SET password = '.$password.' WHERE id = '.$id.'");
    elseif(!empty(
    $nome)
    mysql_query("UPDATE utenti SET nome = '.$nome.' WHERE id = '.$id.'");
    elseif(!empty(
    $squadra)
    mysql_query("UPDATE utenti SET squadra = '.$squadra.' WHERE id = '.$id.'");
    elseif(!empty(
    $campionato)
    mysql_query("UPDATE utenti SET campionato = '.$campionato.' WHERE id = '.$id.'");
    elseif(!empty(
    $email)
    mysql_query("UPDATE utenti SET email = '.$email.' WHERE id = '.$id.'");
    elseif(!empty(
    $privilegi)
    mysql_query("UPDATE utenti SET privilegi = '.$privilegi.' WHERE id = '.$id.'");
    else
    echo
    "Devi modificare almeno un campo!";
    ?>
    Ma mi da errore alla seguente linea (quindi anche le altre uguali):

    Codice PHP:
    mysql_query("UPDATE utenti SET username = '.$username.' WHERE id = '.$id.'");
    Non mi pare di vedere errori come posso fare.

    Ciao.

  2. #2
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Sostituisci:
    Codice PHP:
    mysql_query("UPDATE utenti SET username = '.$username.' WHERE id = '.$id.'");
    elseif(!empty(
    $password)
    mysql_query("UPDATE utenti SET password = '.$password.' WHERE id = '.$id.'");
    elseif(!empty(
    $nome)
    mysql_query("UPDATE utenti SET nome = '.$nome.' WHERE id = '.$id.'");
    elseif(!empty(
    $squadra)
    mysql_query("UPDATE utenti SET squadra = '.$squadra.' WHERE id = '.$id.'");
    elseif(!empty(
    $campionato)
    mysql_query("UPDATE utenti SET campionato = '.$campionato.' WHERE id = '.$id.'");
    elseif(!empty(
    $email)
    mysql_query("UPDATE utenti SET email = '.$email.' WHERE id = '.$id.'");
    elseif(!empty(
    $privilegi)
    mysql_query("UPDATE utenti SET privilegi = '.$privilegi.' WHERE id = '.$id.'");
    Con:
    Codice PHP:
    mysql_query("UPDATE utenti SET username = '".$username."' WHERE id = '".$id."'");
    elseif(!empty(
    $password)
    mysql_query("UPDATE utenti SET password = '".$password."' WHERE id = '".$id."'");
    elseif(!empty(
    $nome)
    mysql_query("UPDATE utenti SET nome = '".$nome."' WHERE id = '".$id."'");
    elseif(!empty(
    $squadra)
    mysql_query("UPDATE utenti SET squadra = '".$squadra."' WHERE id = '".$id."'");
    elseif(!empty(
    $campionato)
    mysql_query("UPDATE utenti SET campionato = '".$campionato."' WHERE id = '".$id."'");
    elseif(!empty(
    $email)
    mysql_query("UPDATE utenti SET email = '".$email."' WHERE id = '".$id."'");
    elseif(!empty(
    $privilegi)
    mysql_query("UPDATE utenti SET privilegi = '".$privilegi."' WHERE id = '".$id."'");
    Apprezzi l'aiuto? Offrimi un caffè!

  3. #3
    L'avatar di binarysun
    binarysun non è connesso Utente storico
    Data registrazione
    02-07-2004
    Messaggi
    2,017

    Predefinito

    Ma perché non li fai in una query sola?
    "L'intelligenza è una pianta che va curata continuamente.
    Dovreste vedere com'è bello, il mio bonsai."
    Rat-man®

    [Gradient Text]
    [Su che server sei?]
    ->flickr

  4. #4
    Guest

    Predefinito

    Grazie miki, ma mi da ancora errore:

    Parse error: syntax error, unexpected T_STRING in /membri/elettronicaqui/administrator/aggiorna_utente.php on line 15

    Comunque non è una sola query perchè deve modificare solo le cose interessate... se nel form prima avevo messo un nuovo username lasciando vuoto tutti gli altri campi, questo mi modificava solo l'username.

    Grazie.

  5. #5
    Guest

    Predefinito

    Codice PHP:
    <?php

    include('include/database_user_connection.php');

    $id = trim($_POST['id']);
    $username = trim($_POST['username']);
    $password = trim($_POST['password']);
    $nome = trim($_POST['nome']);
    $squadra = trim($_POST['squadra']);
    $campionato = trim($_POST['campionato']);
    $email = trim($_POST['email']);
    $privilegi = trim($_POST['privilegi']);

    if(!empty(
    $username))
    mysql_query("UPDATE utenti SET username = '$username' WHERE id = $id");
    if(!empty(
    $password))
    mysql_query("UPDATE utenti SET password = '$password' WHERE id = $id");
    if(!empty(
    $nome))
    mysql_query("UPDATE utenti SET nome = '$nome' WHERE id = $id");
    if(!empty(
    $squadra))
    mysql_query("UPDATE utenti SET squadra = '$squadra' WHERE id = $id");
    if(!empty(
    $campionato))
    mysql_query("UPDATE utenti SET campionato = '$campionato' WHERE id = $id");
    if(!empty(
    $email))
    mysql_query("UPDATE utenti SET email = '$email' WHERE id = $id");
    if(!empty(
    $privilegi))
    mysql_query("UPDATE utenti SET privilegi = '$privilegi' WHERE id = $id");
    ?>

    Ciao!!
    Ultima modifica di debug : 18-06-2009 alle ore 09.15.42

  6. #6
    Guest

    Predefinito

    Funzionaaa Grazie mille Debug!!!

  7. #7
    L'avatar di binarysun
    binarysun non è connesso Utente storico
    Data registrazione
    02-07-2004
    Messaggi
    2,017

    Predefinito

    Citazione Originalmente inviato da programmarealpc Visualizza messaggio

    Comunque non è una sola query perchè deve modificare solo le cose interessate... se nel form prima avevo messo un nuovo username lasciando vuoto tutti gli altri campi, questo mi modificava solo l'username.
    Allora fai così

    Codice PHP:
    <?php

    include('include/database_user_connection.php');

    $id = trim($_POST['id']);
    $username = trim($_POST['username']);
    $password = trim($_POST['password']);
    $nome = trim($_POST['nome']);
    $squadra = trim($_POST['squadra']);
    $campionato = trim($_POST['campionato']);
    $email = trim($_POST['email']);
    $privilegi = trim($_POST['privilegi']);

    $SetString = "";
    if(!empty(
    $username))
    $SetString .= " username = '".$username."'";
    if(!empty(
    $password))
    $SetString .= " password = '".$password."'";
    if(!empty(
    $nome))
    $SetString .= " nome= '".$nome."'";
    if(!empty(
    $squadra))
    $SetString .= " squadra= '".$squadra."'";
    if(!empty(
    $campionato))
    $SetString .= " campionato = '".$campionato."'";
    if(!empty(
    $email))
    $SetString .= " email= '".$email."'";
    if(!empty(
    $privilegi))
    $SetString .= " privilegi= '".$privilegi."'";

    if (!empty(
    $SetString))
    mysql_query("UPDATE utenti SET $SetString WHERE id = $id");

    ?>
    Ultima modifica di binarysun : 18-06-2009 alle ore 12.57.50
    "L'intelligenza è una pianta che va curata continuamente.
    Dovreste vedere com'è bello, il mio bonsai."
    Rat-man®

    [Gradient Text]
    [Su che server sei?]
    ->flickr

  8. #8
    Guest

    Predefinito

    Ok grz

  9. #9
    fctobia non è connesso Neofita
    Data registrazione
    12-03-2009
    Messaggi
    3

    Predefinito

    ragazzi scusatemi, sono giorni che non riesco a capire che errore c'è in questa porzione di codice:

    $q2 = "UPDATE infoteam SET user=$nlogin WHERE nometeam=$nt";
    mysql_query($q2,$conn)or die('query fallita');

    le variabili sono inizializzate correttamente, i nomi dei campi nel database sono esatti e non ci sono errori a causa degli apici...
    cosa potrebbe essere allora???


    EDIT:
    dimenticavo di dirvi che la momento del caricamento della pagina in questione mi viene stampato la stringa "query fallita"
    Ultima modifica di seneca : 05-10-2009 alle ore 11.30.00

  10. #10
    Guest

    Predefinito

    al posto di "query fallita" stampa la funzione mysql_error()

  11. #11
    L'avatar di miki92
    miki92 non è connesso AlterGuru 2500
    Data registrazione
    21-04-2007
    Residenza
    Procida (NA)
    Messaggi
    4,226

    Predefinito

    Questa volta qualche apice serve:
    Codice PHP:
    $q2 = "UPDATE infoteam SET user = '$nlogin' WHERE nometeam = '$nt'";
    mysql_query($q2,$conn)or die('query fallita');
    Apprezzi l'aiuto? Offrimi un caffè!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •