Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Errore mysql Update

  1. #1

    Errore mysql Update

    Buona sera, ho un problema che non si era mai riscontrato. Ho creato una pagina per modificare il proprio profilo, quindi utilizzando gli update set.
    Quando però clicko il pulsante submit per fare le modifiche mi esce un messaggio di errore di mysql, dove dice che c'è un errore nella seconda riga di...

    ecco il codice della pagina:
    codice:
    <?
    session_start();
    
    if(!isset($_SESSION["username"])){
    	include("error.htm");
    	die();
    }
    
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
     "http://www.w3.org/TR/html4/loose.dtd">
    <html>
      <head>
    <style>
    body { background-image:URL(sfondocn.JPG);
    background-attachment:fixed; }
    </style>
    <style type="text/css">
    A{text-decoration:none} 
    </style>
    	<title>Profilo <?
    echo "".$_SESSION["username"]."";
    	  ?> - Forix Forum</title>
      </head>
      <body background="sfondocn.JPG" text="red" vlink="white" link="white">
    <? 
    $host="miohost"; 
    $user="miouser"; 
    $password="miapass; 
    $database="miodb"; 
    mysql_connect($host,$user,$password)or die("connessione non riusciuta"); 
    mysql_select_db($database)or die("Database non trovato");
    $user = $_SESSION["username"];
    $querystr = "SELECT * FROM pannellomod WHERE username = '".$user."'";
    if ($_GET['azione'] == "esegui"){
    	mysql_query("
    		UPDATE pannellomod
    		SET nome = '" . $_POST['nome'] . "'; cognome = '" . $_POST['cognome'] . "'; email = '" . $_POST['email'] . "'; annonascita = '" . $_POST['annonascita'] . "'; genere = '" . $_POST['genere'] . "'; skype = '" . $_POST['skype'] . "'; messenger = '" . $_POST['messenger'] . "' 
    		WHERE username = '".$user."'
    	");
    	if (mysql_error()){ echo mysql_error();}else{echo "Tutto ok";}
    }
    else{
    ?>
    <form id="test" action="profilo.php?azione=esegui" method="post">
        
    
    <font size="5">Modifica Profilo</font></p>
        
    
    <font size="3">Nickname:</font></p>
        
    
    <input name="nickname" readonly value=<?
    echo "".$_SESSION["username"]."";
    	  ?>>
        
    
    Password: *</p>
        
    
    <input type="password" name="password"value=<?
    echo "".$_SESSION["password"]."";
    	  ?>></p>
        
    
    Inserisci nuovamente password: *</p>
        
    
    <input type="password" name="password2"></p>
        
    
    Nuova Password:</p>
        
    
    <input type="password" name="newpasword"></p>
        
    
    E-mail:</p>
        
    
    <input name="email" value="<?
    $query=mysql_query("SELECT * FROM pannellomod WHERE username = '".$user."'"); 
    $res=mysql_fetch_assoc($query); 
    echo $res['email'];
    ?>"></p>
        <input type="submit" value="   OK   ">
        <input type="button" value="Annulla" onclick="document.location = 'javascript:history.back()';">
        
    
    </p>
        
    
    Altre informazioni:</p>
        
    
    Nome:</p>
        
    
    <input name="nome" value="<?
    $query=mysql_query("SELECT * FROM pannellomod WHERE username = '".$user."'"); 
    $res=mysql_fetch_assoc($query); 
    echo $res['nome'];
    ?>"></p>
        
    
    Cognome:</p>
    
    
    <input name="cognome" value="<?
    $query=mysql_query("SELECT * FROM pannellomod WHERE username = '".$user."'"); 
    $res=mysql_fetch_assoc($query); 
    echo $res['cognome'];
    ?>"></p>
        Data di nascita
     
    <select name="annonascita">
    <option value="Seleziona la tua data di nascita">Data di nascita</option>
    <option value="1960">1960</option>
    <option value="1961">1961</option>
    <option value="1962">1962</option>
    <option value="1963">1963</option>
    <option value="1964">1964</option>
    <option value="1965">1965</option>
    <option value="1966">1966</option>
    <option value="1967">1967</option>
    <option value="1968">1968</option>
    <option value="1969">1969</option>
    <option value="1970">1970</option>
    <option value="1971">1971</option>
    <option value="1972">1972</option>
    <option value="1973">1973</option>
    <option value="1974">1974</option>
    <option value="1975">1975</option>
    <option value="1976">1976</option>
    <option value="1977">1977</option>
    <option value="1978">1978</option>
    <option value="1979">1979</option>
    <option value="1980">1980</option>
    <option value="1981">1981</option>
    <option value="1982">1982</option>
    <option value="1983">1983</option>
    <option value="1984">1984</option>
    <option value="1985">1985</option>
    <option value="1986">1986</option>
    <option value="1987">1987</option>
    <option value="1988">1988</option>
    <option value="1989">1989</option>
    <option value="1990">1990</option>
    <option value="1991">1991</option>
    <option value="1992">1992</option>
    <option value="1993">1993</option>
    <option value="1994">1994</option>
    <option value="1995">1995</option>
    <option value="1996">1996</option>
    <option value="1997">1997</option>
    <option value="1998">1998</option>
    <option value="1999">1999</option>
    <option value="2000">2000</option>
    <option value="2001">2001</option>
    <option value="2002">2002</option>
    <option value="2003">2003</option>
    <option value="2004">2004</option>
    <option value="2005">2005</option>
    <option value="2006">2006</option>
    <option value="2007">2007</option>
    <option value="2008">2008</option>
    <option value="2009">2009</option>
    <option value="2010">2010</option>
    </select>
        
    
    Tuo Genere:</p>
         Maschile:<input type="radio" name="Sex" value="1">
    
         Femminile:<input type="radio" name="Sex" value="2">
        
        
    
    Indirizzo MSN:</p>
        
    
    <input name="messenger" value="<?
    $query=mysql_query("SELECT * FROM pannellomod WHERE username = '".$user."'"); 
    $res=mysql_fetch_assoc($query); 
    echo $res['messenger'];
    ?>"></p>
        
    
    Indirizzo Skype:</p>
        
    
    <input name="skype" value="<?
    $query=mysql_query("SELECT * FROM pannellomod WHERE username = '".$user."'"); 
    $res=mysql_fetch_assoc($query); 
    echo $res['skype'];
    ?>"></p>
        <font size="1"><input type="submit" value="   OK   "></font>
    <input type="button" value="Annulla" onclick="document.location = 'javascript:history.back()';">
    <?
    }
    ?>
        
    
    <font size="1">Dov'&egrave; scritto *il campo &egrave;obbligatorio.</font></p></form>
      </body>
    </html>
    Ed ecco il messaggio d'errore:
    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 'cognome = 'parziale'; email = 'luigi.parziale@live.it'; annonascita = 'Seleziona' at line 2


    Per favore aiutatemi, è urgente

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    323
    'cognome = 'parziale'; email = 'luigi.parziale@live.it'; annonascita = 'Seleziona'

    Ovvio che ti dia errore non hai chiuso. Sostituiscila a questa :
    'cognome' = 'parziale'; email = 'luigi.parziale@live.it'; annonascita = 'Seleziona'

  3. #3
    si, ma se vedi quelli sono ciò che ho scritto e utilizzando $_POST le faccio visualizzare, quindi come faccio?

  4. #4
    Codice PHP:
        mysql_query("
            UPDATE pannellomod
            SET nome = '" 
    $_POST['nome'] . "', cognome = '" $_POST['cognome'] . "', 
                     email = '" 
    $_POST['email'] . "', annonascita = '" $_POST['annonascita'] . "',
                     genere = '" 
    $_POST['genere'] . "', skype = '" $_POST['skype'] . "', 
                     messenger = '" 
    $_POST['messenger'] . "' 
            WHERE username = '"
    .$user."'
                 "
    ); 
    la lista dei campi da modificare va separata dalla virgola e non dal ; che invece chiude il comando.


    ps.: e mentre ci sei utilizza il tag php normalizzato in <?php e non piu' <?

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

  5. #5
    grazie funziona, ma ora se volessi eliminare l'else per far vedere "tutto ok" nella pagina profilo.php?azione=esegui

    PS=che differenza c'è tra "<?" e "<?php" ??

  6. #6

  7. #7

  8. #8
    Originariamente inviato da ixol
    grazie funziona, ma ora se volessi eliminare l'else per far vedere "tutto ok" nella pagina profilo.php?azione=esegui

    PS=che differenza c'è tra "<?" e "<?php" ??
    se vuoi eliminare l'else elimina l'else che vorresti sapere?

    la differenza tra lo short tag <? ed il tag "vero" <?php e' che sempre meno hoster lo supportano visto che il default nel php.ini e' di lasciarlo ad off. Uno dei motivi e' che anche i file xml iniziano con <?

    Se non vuoi modificarlo lascialo cosi' salvo poi cambiarlo quando il tuo hoster aggiornera' il php ma almeno tu avrai l'occasione di postare: Aiuto! non mi funziona piu' lo script

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

  9. #9
    grazie mille, mi sei stato davvero d'aiuto!
    Spero ci incontreremo nel forum

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.