Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    mysql non fa update su alcuni campi

    Salve a tutti sono alle prese con mysql che non aggiorna le modifiche ai campi. La cosa strana è che non aggiorna solo 2campi "titolo" e "foto1" gli altri vengono aggiornati. Ecco il codice :

    codice:
    include("config.php"); //includo file configurazione
    
    include("connessione_db.php"); //connetto al db e seleziono il database
    
    				mysql_select_db("$db_name",$connessione); //seleziono il database ufficio usando lo script di connessione al mysql
    
    
    		//recupero via post le variabili modificate dal form di modifica.php
    		$titolo =  mysql_real_escape_string($_POST['titolo']);
    		$descrizione =  mysql_real_escape_string($_POST['descrizione']);
    		$prezzo = $_POST['prezzo'];
    		$rif = $_POST['rif'];
    		$cat = $_POST['cat'];
    		$foto1 = $_POST['foto1'];
    		$foto2 = $_POST['foto2'];
    		$foto3 = $_POST['foto3'];
    		$foto4 = $_POST['foto4'];
    		$foto5 = $_POST['foto5'];
    		$foto6 = $_POST['foto6'];
    		$foto7 = $_POST['foto7'];
    		$foto8 = $_POST['foto8'];
    		$foto9 = $_POST['foto9'];
    		$foto10 = $_POST['foto10'];
    		$maps = $_POST['maps'];
    		$id = $_POST['id'];
    		$permalink = $_POST['permalink'];
    		$seo_desc = mysql_real_escape_string($_POST['seo_desc']);
    		
    		//interrogo il database AGGIORNO la categoria (tabella che mi interessa) settando 
    		$sql = "UPDATE $cat SET
    		
    		titolo = '$titolo',
    		descrizione = '$descrizione',
    		cat = '$cat',
    		rif = '$rif',
    		foto1 = '$foto1',
    		foto2 = '$foto2',
    		foto3 = '$foto3',
    		foto4 = '$foto4',
    		foto5 = '$foto5',
    		foto6 = '$foto6',
    		foto7 = '$foto7',
    		foto8 = '$foto8',
    		foto9 = '$foto9',
    		foto10 = '$foto10',
    		maps = '$maps',
    		permalink = '$permalink',
    		seo_desc = '$seo_desc',
    
    		prezzo = '$prezzo'
    		
    		WHERE id= '$id'
    		
    		";
    		
    		if (@mysql_query($sql)) 
    		
    			{
    				echo '
    
    Il tuo alloggio &egrave; stato modificato correttamente</p>';
    				
    							echo "
    Verrai reindirizzato alla pagina precendente tra pochi istanti ... 
    ";
    
    										echo     '<script type="text/javascript">setTimeout("parent.history.back()",5*1000)</script>';
    
    				
    				
    			}
    					else {
    						
    						
    								echo '
    
    Si e verificato un errore ' . mysql_error() .'</p>';
    								
    					}
    http://www.targetweb.it - Web design, guide e risorse utili su Html5, jQuery, Css3

  2. #2
    Utente di HTML.it L'avatar di jcsnake
    Registrato dal
    Jun 2010
    Messaggi
    629
    Ciao, probabilmente è perchè solo titolo e foto1 hanno qualcosa di sbagliato al loro interno...controlla meglio il loro contenuto, ad esempio con una stampa a video, prima di mandarla in pasto alla query di update.

  3. #3
    Ciao no ho risolto, in pratica era un errore di logica, l'ho capito stampando la quesry con

    echo $sql; =)

    in pratica, l'errore era dovuto al fatrto che usavo la variabile titolo per selezionare l'update. Nel caso modificavo anche il titolo quest'ultimo risultava diverso e pertanto non faceva eseguire la query in modo corretto. Ho risolto usando l'id al posto del titolo in questo modo l'id non viene mai modificato, è unico e sono tranquillo =D

    in pratica veniva fuori:

    UPDATE blabla

    titolo = Bilocale 2 //recuperato del post del form modificando l'articolo

    ...

    WHERE titolo = Bilocale 1 //i due titoli (uno modificato dal form e l'altro più "vecchio") non erano uguali e non sapeva dove fare l'update.

    Spero sia di aiuto anche ad altri =D
    http://www.targetweb.it - Web design, guide e risorse utili su Html5, jQuery, Css3

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.