Foros del Web » Programando para Internet » PHP »

Problemas con Update

Estas en el tema de Problemas con Update en el foro de PHP en Foros del Web. Hola amigos, tengo un pequeño problema. Tengo una web que hay una sección para socios. Al darse de alta los hay que ponen todo en ...
  #1 (permalink)  
Antiguo 20/04/2003, 17:21
 
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona - España
Mensajes: 270
Antigüedad: 15 años
Puntos: 0
Problemas con Update

Hola amigos, tengo un pequeño problema. Tengo una web que hay una sección para socios. Al darse de alta los hay que ponen todo en mayúsculas, otros en minúsculas y otros mezclado.
Me lee perfectamente la base de datos, pero no hay manera de actualizarla una vez que he modificado los valores.
Ahi va el código.
Gracias de antemano<HTML>
<HEAD><TITLE>Resultados de la búsqueda</TITLE></HEAD>
<BODY bgcolor="black" text="#ffff00">
<CENTER><FONT COLOR='#00ff00'>
<H1> Actualización</H1></FONT>

<table border="1" cellpadding="0" width="100%" cellspacing="0">
<div align="center">
<?
//Establecimiento de la conexión
$conex = mysql_connect("mysql.gestionar.info", "", "")
or die("NO se pudo realizar la conexión");
// Selección de la base de datos
mysql_select_db("", $conex);
//Preparación y ejecución de la consulta
$cons = "SELECT * FROM nuevos";
$resultado = mysql_query($cons,$conex);
//Obtención del número de filas del resultado
$Num_filas = mysql_num_rows($resultado);
echo "<Br><b><font color='#ffff00'>Número de resultados: $Num_filas</b><BR>\n";
//Obtención del número de atributos
$Num_campos = mysql_num_fields($resultado);
// echo "<table border=1 width='100%' align='center'>";
// echo "<tr>";
//Recorrido del cursor de fila en fila

while ($mal = mysql_fetch_array($resultado))

{
//Recorrido de los atributos de una fila
$nombre=$mal['nombre'];
$correo2=$mal['correo'];
$poblacion=$mal['poblacion'];
$provincia=$mal['provincia'];
$clave=$mal['clave'];

$nombre2=strtolower($nombre);
echo "nuevo nombre $nombre2<br>";
$correo3=strtolower($correo2);
$poblacion2=strtolower($poblacion);
$provincia2=strtolower($provincia);
$nombre4=ucwords($nombre2);
$poblacion4=ucwords($poblacion2);
$provincia4=ucwords($provincia2);
echo " Nuevos valores $nombre4 $correo3 $poblacion4 $provincia4";
// UPDATE nuevos
// SET nombre='$nombre4', correo='$correo3', poblacion='$poblacion4' provincia='$provincia4'";
// mysql_query("UPDATE nuevos SET nombre='$nombre4', correo='$correo3', poblacion='$poblacion4' provincia='$provincia4' where clave='$clave'");
// $actualiza = "UPDATE nuevos SET nombre='$nombre4', correo='$correo3', poblacion='$poblacion4' provincia='$provincia4' where clave='$clave'";
// $actualiza2=mysql_query("$actualiza");
mysql_db_query(""," UPDATE FROM nuevos SET nombre='$nombre4', correo='$correo3', poblacion='$poblacion4' provincia='$provincia4' where clave='$clave'");
}
// Liberamos los recursos de las consultas
mysql_free_result($resultado);
// Se cierra la conexion
mysql_close($conex);
echo "</table>";
?>
</div>
</body>
</html>
  #2 (permalink)  
Antiguo 20/04/2003, 17:46
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Para averiguar si ha fallado una consulta MySQL y porque:
Código PHP:
mysql_db_query(""," UPDATE FROM nuevos SET nombre='$nombre4', correo='$correo3', poblacion='$poblacion4' provincia='$provincia4' where clave='$clave'") or die(mysql_error()); 
Otro consejo: deja de usar mysql_db_query() y empieza a usar mysql_select_db() y mysql_query(). Son mas actuales y mysql_select_db() puede desaparecer sin previo aviso en siguientes versiones de PHP.

Suerte.

PD: fijate en las comas separando los campos del update. Aunque usa siempre que puedas mysql_error().
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 20/04/2003, 17:50
 
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona - España
Mensajes: 270
Antigüedad: 15 años
Puntos: 0
You have an error in your SQL syntax near 'FROM nuevos SET nombre='Sonia', correo='[email protected]', poblacion='Colla' at line 1
  #4 (permalink)  
Antiguo 20/04/2003, 17:51
 
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona - España
Mensajes: 270
Antigüedad: 15 años
Puntos: 0
Perdona Josemi, este es el error que aparece y tendré muy en cuenta tus consejosMadridYou have an error in your SQL syntax near 'FROM nuevos SET nombre='Sonia', correo='[email protected]', poblacion='Colla' at line 1
  #5 (permalink)  
Antiguo 20/04/2003, 17:59
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
¿Has leido mi PD? Mira las COMAS que separan los campos del update (todos menos entre poblacion y provincia). Normalmente en el mensaje de error te dice hasta que punto de la consulta no tienes ningun error de sintaxis. Fijate en lo que viene en la consulta despues del trozo que te ha puesto en el mensaje de error.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 20/04/2003, 18:21
 
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona - España
Mensajes: 270
Antigüedad: 15 años
Puntos: 0
Ya he colocado antes la coma entre población y provincia, pero el error es el mismo. La consulta me la hace perfecta, pero el update no hay manera
  #7 (permalink)  
Antiguo 20/04/2003, 18:28
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Bien, otra cosa. Revisa en www.mysql.com la sintaxis de UPDATE. No todo tipo de consultas usan FROM.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #8 (permalink)  
Antiguo 20/04/2003, 18:33
 
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona - España
Mensajes: 270
Antigüedad: 15 años
Puntos: 0
Gracias Josemi, problema solucionado. He borrado el FROM y ya funciona. Gracias de nuevo
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 14:42.