Foros del Web » Programando para Internet » PHP »

error al modificar datos

Estas en el tema de error al modificar datos en el foro de PHP en Foros del Web. Buenas tardes; Estoy modificando mi web y ahora mismo me he atascado con un fallo. He creado un formulario que recupera datos de una base ...
  #1 (permalink)  
Antiguo 19/08/2009, 09:54
 
Fecha de Ingreso: diciembre-2005
Mensajes: 34
Antigüedad: 18 años, 4 meses
Puntos: 0
error al modificar datos

Buenas tardes;

Estoy modificando mi web y ahora mismo me he atascado con un fallo.

He creado un formulario que recupera datos de una base de datos para poder editarlos y guardar los cambios. Todo va bien hasta el paso de pulsar el boton de guardar cambios ya que me da el siguiente error:

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 'where linkID = '2'' at line 7

El código de la página es el siguiente:

Código:
<?
require_once("../conn.php");
require_once("access.php");

if(isset($_POST[s1]))
{
	$MylinkID = trim($_POST[linkID]);
	$MylinkNOMBRE = trim($_POST[linkNOMBRE]);
	$MylinkDESCRIPCION = trim($_POST[linkDESCRIPCION]);
	$MylinkURL = trim($_POST[linkURL]);

	$q1 = "update class_links set
							linkID = '$MylinkID',
							linkNOMBRE = '$MylinkNOMBRE',
							linkDESCRIPCION = '$MylinkDESCRIPCION',
							linkURL = '$MylinkURL',
							
							where linkID = '$_GET[id]' ";

	mysql_query($q1) or die(mysql_error());

	header("location:linksadmin.php");
	exit();

}

require_once("AdminNavigation.php");

//get the links info
$q1 = "select * from class_links where linkID = '$_GET[id]' ";
$r1 = mysql_query($q1) or die(mysql_error());
$a1 = mysql_fetch_array($r1);

?>

<br>

<form method=post>
<table align=center width=400>

<tr>
	<td align=right>Id:</td>
	<td align=right>
	<p align="left">
	<input name=linkID size=35 maxlength=5 value="<?=$a1[linkID]?>" style="float: left"></td>
</tr>


<tr>
	<td align=right>Nombre:</td>
	<td align=right>
	<input name=linkNOMBRE size=35 maxlength=70 value="<?=$a1[linkNOMBRE]?>" style="float: left"></td>
</tr>


<tr>
	<td align=right>Descripción:</td>
	<td align=right>
	<p align="left">
	<textarea name=linkDESCRIPCION rows=4 cols=34 style="float: left"><?=$a1[linkDESCRIPCION]?></textarea></td>
</tr>


<tr>
	<td align=right>Dirección Web:</td>
	<td align=right>
	<input name=linkURL size=35 maxlength=70 value="<?=$a1[linkURL]?>" style="float: left"></td>
</tr>


<tr>
	<td align=right>&nbsp;</td>
	<td align=right>&nbsp;</td>
</tr>


<tr>
	<td align=right>&nbsp;</td>
	<td align=right>
	<input type=submit name=s1 value="Guardar Cambios" class="sub1" style="float: left"></td>
</tr>


</table>
</form>

<br><br>

<?
require_once("admin_footer.php");
?>
Mi nivel de php y sql es básico por lo que les agradecería alguna sugerencia de por donde tirar pues me encuentro atascado con este tema.

saludos y gracias anticipadas.
  #2 (permalink)  
Antiguo 19/08/2009, 10:03
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: error al modificar datos

Tienes una coma declarada de mas

Código mysql:
Ver original
  1. linkURL = '$MylinkURL',

Esa ultima coma no debe ir
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 19/08/2009, 10:07
Avatar de racanix  
Fecha de Ingreso: diciembre-2008
Ubicación: Morelia Mich.
Mensajes: 192
Antigüedad: 15 años, 4 meses
Puntos: 8
Respuesta: error al modificar datos

Tu problema esta en la vaiable linkID ya que asignas una cadena '2'..
quita las comillas a la hora de asignar ya que en tu consulta las toma
y marca ese error...

saludos

Última edición por racanix; 19/08/2009 a las 10:09 Razón: me equivoque en el nombre de la variable
  #4 (permalink)  
Antiguo 19/08/2009, 10:09
 
Fecha de Ingreso: diciembre-2005
Mensajes: 34
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: error al modificar datos

Cita:
Iniciado por abimaelrc Ver Mensaje
Tienes una coma declarada de mas

Código mysql:
Ver original
  1. linkURL = '$MylinkURL',

Esa ultima coma no debe ir

Mil gracias abimaelrc, en efecto el fallo se producía por esa coma.

He borrado la coma y ya funciona perfectamente.

Gracias una vez más por tu ayuda.
  #5 (permalink)  
Antiguo 19/08/2009, 10:15
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: error al modificar datos

Aclaro algo que me enseñaron por este foro. En base de datos no importa si escribes con comillas o sin ellas un campo de numero. Pero si importa si declaras un campo de texto si escrbes sin comillas. En este caso el problema lo decia el error for the right syntax to use near 'where linkID = '2'' at line 7. Lo que hice fue buscar el where y busque cerca de el que es lo que habia y vi lo de la coma.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #6 (permalink)  
Antiguo 19/08/2009, 10:18
 
Fecha de Ingreso: diciembre-2005
Mensajes: 34
Antigüedad: 18 años, 4 meses
Puntos: 0
Respuesta: error al modificar datos

gracias por el consejo. intentaba buscar el error cerca de where pero no caía en que sobraba esa coma. Es la poca experiencia que tengo con php.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:17.