Problema di visualizzazione nel web

skate84

Utente Attivo
16 Mag 2009
83
0
0
Non so se è la sezione giusta, e mi scuso già sin d'ora...

Ho messo sul server il lavoro che ho svolto fino ad ora, ed ho visto che se entro nella parte di admin e vado a modificare un record in una lista..mi da un errore di sintassi!

Come può accadere ciò, visto che in locale mi funziona?

Questo è l'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 '' at line 1
 
Ultima modifica:
è probabile che la versione remota di MySQL sia diversa da quella locale, posta la stringa che produce l'errore.
 
Il problema è che non so quale sia la causa..ti posto il file di modifica perchè alla fine è li che mi da errore, idem per l'eliminazione del record. Però credo che una volta che va a posto il file di modifica faccio la stessa cosa nel file di eliminazione.

PHP:
<?php
	include ("connect.php");
?>

<?php
	
	$confirm=$_REQUEST['confirm'];
	$id=$_REQUEST['id'];
	
	if (!$confirm)
	{
		$sql="select * from utente where id=$indice";
		$result = mysql_query($sql, $db) or die (mysql_error());
		$AffectedRows = mysql_affected_rows($db);
		
		if ($AffectedRows==0)
		{
			echo "Non esistono record con i criteri selezionati";
		}
		else
		{
			mysql_data_seek($result,0);
			$row=mysql_fetch_row($result);
			
			echo "<table>";
			echo "<form method=\"post\"action=\"?id=194\">";
			
			foreach ($row as $k => $v)
			{
				$myfield = mysql_fetch_field($result,$k);
				echo "<tr><td>$myfield->name</td>";
				echo "<td><input type=\"text\" value=\"" . $v . "\" name=\"" . $myfield->name . "\" size=\"70\" </td></tr>";
			}
			echo "<tr><td><input type=\"submit\" value=\"Conferma modifiche\"></td></tr>";
			echo "<input type=\"hidden\" name=\"confirm\" value=\"1\">";
			echo "</form>";
			echo "</table>";
			
			mysql_free_result($result);
			mysql_close($db);
		}
	}
	else
	{
		$username=$_REQUEST['username'];
		$password=$_REQUEST['password'];
		$nome=$_REQUEST['nome'];
		$cognome=$_REQUEST['cognome'];
		$cripta_password=MD5($password);
		
		$sql="update utente set username=\"$username\"," . "password=\"$cripta_password\"," . "nome=\"$nome\"," . "cognome=\"$cognome\"" . "where id=$id";
		
		$result = mysql_query($sql, $db);
		$AffectedRows = mysql_affected_rows($db);
		
		if ($AffectedRows!=0)
		{
			echo "Il record è stato aggiornato";
			echo "<a href=\"?id=191\">Torna alla lista</a>";
		}
		
		mysql_close($db);
	}
?>
 
Penso di aver risolto.

Il problema era qua
PHP:
......
$id=$_REQUEST['id'];
.......
$sql="select * from utente where id=$indice";

Praticamente ho modificato in base a quale tabella volevo modificare o eliminare il record. Quindi esempio se voglio modificare un record nella tabella gruppi, nella pagina modifica_dati_gruppi.php metto così:

PHP:
.....
$id_gruppo=$_REQUEST['id_gruppo'];
.....
$sql="select * from gruppi where id_gruppo=".$id_gruppo;

chiaramente prendo l'id che ho nella banca dati :)
 
strana questa sintassi:
PHP:
$sql="update utente set username=\"$username\"," . "password=\"$cripta_password\"," . "nome=\"$nome\"," . "cognome=\"$cognome\"" . "where id=$id";
dovrebbe funzionare anche così:
PHP:
$sql="update utente set 
username='$username',
password='$cripta_password',
nome='$nome',
cognome='$cognome'
where id=$id";
 
sintatticamente è corretta, mi è solo sembrata un pò troppo lunga:)
 

Discussioni simili

M
Risposte
2
Visite
2K
HTML e CSS
Membro cancellato 26246
M