Foros del Web » Programando para Internet » PHP »

no me va scrip editor

Estas en el tema de no me va scrip editor en el foro de PHP en Foros del Web. Este codigo me genra este error: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for ...
  #1 (permalink)  
Antiguo 19/05/2004, 16:20
 
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años, 1 mes
Puntos: 0
no me va scrip editor

Este codigo me genra este 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 idcomunidad =' at line 1

Joe me compro un libro para no meletar y al final acabo jodiendo por fa una ayuda.

los includes funcionan por que otros scrip trabaja con los includes.
<html>

<head>
<title>editor de comunidades</title>
</head>

<body>

<?php
include ("includes/config.php");
include ("includes/funciones.php");

//si la forma ha sido enviada editamos el registro.
if(isset($_POST['submit'])){
//nos conectamos a mysql
$cnx = conectar ();

$sql = "UPDATE directorio SET ";
$sql .= "nombre ='".$_POST['nombre']."',";
$sql .= " WHERE idcomunidad =".$_POST['idcomunidad'];
$res = mysql_query($sql) or die(mysql_error());
echo "Registro actualizado.<br><a href='listado.php'>regresar</a>";
mysql_close($cnx);
exit;
}

//si no hay idcomunidad, no puede seguir.
if(empty($_GET['idcomunidad'])){
header("Location: comunidades.php");
exit;
}

//nos conectamos a mysql
$cnx = conectar ();

//consulta para mostrar los datos.
$sql = "SELECT * FROM comunidades WHERE idcomunidad=".$_GET['idcomunidad'];
$res= mysql_query($sql) or die (mysql_error());

if( mysql_num_rows($res) >0){
//si hay resultados hacemos la forma.
?>
<form name="form1" method="post" action="<?echo $_SERVER['PHP_SELF'];?>">
<table width="400" border="1" cellpadding="0" cellspacing="0">
<?
//impresión de los datos.
while ($fila = mysql_fetch_array($res)) {
?>
<tr>
<td>nombre</td>
<td><input name="nombre" type="text" id="nombre" value="<? echo $fila['nombrecomunidad'];?>"></td>
</tr>

<tr>
<td>&nbsp;</td>
<td align="right"><input type="submit" name="submit" value="enviar"></td>
</tr>
</table>
</form>
<?
}
}else{
//no hay resultados, id malo o no existe.
echo "no se obtuvieron resultados";
}
mysql_close($cnx);
?>

</body>

</html>
  #2 (permalink)  
Antiguo 19/05/2004, 16:37
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 20 años, 9 meses
Puntos: 2
Código PHP:
$sql .= "WHERE idcomunidad = $_POST['idcomunidad']";//falta la comilla, lee lo que te dice php 
__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol
  #3 (permalink)  
Antiguo 20/05/2004, 06:01
 
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años, 1 mes
Puntos: 0
si le pongo las comillas y lo dejo asi: $sql .= " WHERE idcomunidad =".$_POST['idcomunidad']"; me sale este error
Parse error: parse error, unexpected '"' in G:\www\gestioncomunidad\editar.php on line 20
  #4 (permalink)  
Antiguo 20/05/2004, 06:03
 
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años, 1 mes
Puntos: 0
por cierto la linea 20 es esa la de arriba que la vuelvo a poner:


$sql .= " WHERE idcomunidad =".$_POST['idcomunidad']";
  #5 (permalink)  
Antiguo 20/05/2004, 06:35
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Del codigo original (que estaba bien el PHP), haz un echo $sql y comparala con www.mysql.com/update

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 20/05/2004, 08:00
 
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años, 1 mes
Puntos: 0
he encontrado un error donde pone :

$sql = "UPDATE directorio SET "; he puesto $sql = "UPDATE comunidades SET "; esto hace una llamada a la tabla que quiero actualizar, pero una vez corregido esto sigue igual, y cualquier modifacion que realizo al where me da error en linea 20, he revisado esto con el link que me has puesto pero no veo nada raro, esto empieza a cabrear.
  #7 (permalink)  
Antiguo 20/05/2004, 09:04
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Es que esa correccion que has hecho a la linea 20 esta mal. Fijate lo que te puso Gerald y lo que pusiste tu. De todas formas, no era necesario ese cambio.

Revisa las comas de la consulta.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #8 (permalink)  
Antiguo 20/05/2004, 13:24
 
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años, 1 mes
Puntos: 0
por fin solucionado peero sin tenerlo muy claro.
Como hago para que siempres se escriba en mayuscula auque yo teclee minusculas.

este es el codigo fuente que me funciona:
<?php
include ("includes/config.php");
include ("includes/funciones.php");

//si la forma ha sido enviada editamos el registro.
if(isset($_POST['submit'])){
//nos conectamos a mysql
$cnx = conectar ();

$sql = "UPDATE comunidades SET ";
$sql .= "nombrecomunidad ='".$_POST['nombrecomunidad']."',";
$sql .= "direcioncomunidad ='".$_POST['direcioncomunidad']."',";
$sql .= "tlfcomunidad ='".$_POST['tlfcomunidad']."',";
$sql .= "tlfmovilcomunidad ='".$_POST['tlfmovilcomunidad']."',";
$sql .= "presidentecomunidad ='".$_POST['presidentecomunidad']."'";
$sql .= " WHERE idcomunidad =".$_POST['idcomunidad'];
$res = mysql_query($sql) or die(mysql_error());
echo "Registro actualizado.<br><a href='comunidades.php'>regresar</a>";
mysql_close($cnx);
exit;
}

//si no hay id, no puede seguir.
if(empty($_GET['idcomunidad'])){
header("Location: comunidades.php");
exit;
}

//nos conectamos a mysql
$cnx = conectar ();

//consulta para mostrar los datos.
$sql = "SELECT * FROM comunidades WHERE idcomunidad=".$_GET['idcomunidad'];
$res= mysql_query($sql) or die (mysql_error());

if( mysql_num_rows($res) >0){
//si hay resultados hacemos la forma.
?>
<form name="form1" method="post" action="<?echo $_SERVER['PHP_SELF'];?>">
<table width="400" border="1" cellpadding="0" cellspacing="0">
<?
//impresión de los datos.
while ($fila = mysql_fetch_array($res)) {
?>
<tr>
<td width="150">Id</td>
<td><input name="idcomunidad" type="hidden" idcomunidad="idcomunidad" value="<?echo $fila['idcomunidad'];?>"><? echo $fila['id'];?></td>
</tr>
<tr>
<td>nombre</td>
<td><input name="nombrecomunidad" type="text" idcomunidad="nombrecomunidad" value="<? echo $fila['nombrecomunidad'];?>"></td>
</tr>
<tr>
<td>direcion</td>
<td><input name="direcioncomunidad" type="text" idcomunidad="direcioncomunidad" value="<? echo $fila['direcioncomunidad'];?>"></td>
</tr>
<tr>
<td>tlf</td>
<td><input name="tlfcomunidad" type="text" idcomunidad="tlfcomunidad" value="<? echo $fila['tlfcomunidad'];?>"></td>
</tr>
<tr>
<td>tlfmovil</td>
<td><input name="tlfmovilcomunidad" type="text" idcomunidad="tlfmovilcomunidad" value="<? echo $fila['tlfmovilcomunidad'];?>"></td>
</tr>
<tr>
<td>presidente</td>
<td><input name="presidentecomunidad" type="text" idcomunidad="presidentecomunidad" value="<? echo $fila['presidentecomunidad'];?>"></td>
</tr>
<tr>
<td>&nbsp;</td>
<td align="right"><input type="submit" name="submit" value="enviar"></td>
</tr>
</table>
</form>
<?
}
}else{
//no hay resultados, id malo o no existe.
echo "no se obtuvieron resultados";
}
mysql_close($cnx);
?>
  #9 (permalink)  
Antiguo 20/05/2004, 13:33
 
Fecha de Ingreso: marzo-2004
Mensajes: 271
Antigüedad: 20 años, 1 mes
Puntos: 0
ya me di cuenta del error:

es esta sentencia :$sql .= "presidentecomunidad ='".$_POST['presidentecomunidad']."'"; hay doble comilla, comilla y doble comilla, esto estara especificando el cierre del $sql mientras con el primer codgo puse esto:

$sql .= "nombre ='".$_POST['nombre']."',"; me sobraba la coma, que si hay que poner en el caso que haya varias y en la ultima quitar la coma.....

joder con la dichosa coma
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 06:01.