Buenos días amigos.
Ante todo muchisimas gracias por vuestra ayuda. Ya he solucionado el error de antes pero ahora al intentar editar los datos de un usuario me sale el error: Query was empty. ¿Por qué puede suceder?
Os dejo todo el codigo:
<?php require_once('Connections/conexion.php'); ?>
<?php
$varId_EditarMisDatos = "0";
if (isset($_SESSION["MM_Id"])) {
$varId_EditarMisDatos = $_SESSION["MM_Id"];
}
mysql_select_db($database_conexion, $conexion);
$query_EditarMisDatos = sprintf("SELECT * FROM users WHERE users.id=%s", GetSQLValueString($varId_EditarMisDatos, "int"));
$EditarMisDatos = mysql_query($query_EditarMisDatos, $conexion) or die(mysql_error());
$row_EditarMisDatos = mysql_fetch_assoc($EditarMisDatos);
$totalRows_EditarMisDatos = mysql_num_rows($EditarMisDatos);
?>
<?php
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
?>
<?php
if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form2")) {
$updateSQL = sprintf("UPDATE users SET avatar=%s, nombre=%s WHERE id=%s",
GetSQLValueString($_POST['avatar'], "text"),
GetSQLValueString($_POST['nombre'], "text"));
mysql_select_db($database_conexion, $conexion);
$Result1 = mysql_query($updateSQL, $conexion) or die(mysql_error());
$updateGoTo = "index.php";
if (isset($_SERVER['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $updateGoTo));
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="css/estilos.css"/>
<title>Club Deportivo Don Bosco</title>
</head>
<body>
<div id="principal">
<div id="head"><img src="img/don bosco copia.jpg" width="960" height="150" /></div>
<?php include("inc/menu.php"); ?>
<div id="capacategoria">Editar Usuario<span style="float:right"><img src="img/donboscopeque.jpg" width="20" height="26" /></span></div>
<script type="text/javascript">
function subirimagen()
{
self.name = 'opener';
remote = open('subir_avatar.php', 'remote', 'width=400,height=150,location=no,scrollbars=yes,menubars=no,toolbars=no,resizable=yes,fullscreen=no, status=yes');
remote.focus();
}
</script>
<form action="<?php echo $editFormAction; ?>" method="post" name="form2" id="form2">
<table align="center">
<tr valign="baseline">
<td><img src="avatar/<?php echo $row_EditarMisDatos['avatar']; ?>" width="150" height="150" />
<input type="hidden" name="avatar" value="<?php echo $row_EditarMisDatos['avatar']; ?>" size="32" />
<input type="button" name="button" id="button" value="Cambiar Imagen" onclick="javascript:subirimagen();" /></td>
</tr>
<tr valign="baseline">
<td><label for="nombre"></label>
<input type="text" name="nombre" id="nombre" value="<?php echo $row_EditarMisDatos['nombre']; ?>" /></td>
</tr>
<tr valign="baseline">
<td><input type="submit" value="Actualizar Perfil" /></td>
</tr>
</table>
<input type="hidden" name="MM_update" value="form2" />
<input type="hidden" name="id" value="<?php echo $row_EditarMisDatos['id']; ?>" />
</form>
</div>
<div id="footer"></div>
</body>
</html>
<?php
mysql_free_result($EditarMisDatos);
?>
Ante todo muchisimas gracias por vuestra ayuda. Ya he solucionado el error de antes pero ahora al intentar editar los datos de un usuario me sale el error: Query was empty. ¿Por qué puede suceder?
Os dejo todo el codigo:
<?php require_once('Connections/conexion.php'); ?>
<?php
$varId_EditarMisDatos = "0";
if (isset($_SESSION["MM_Id"])) {
$varId_EditarMisDatos = $_SESSION["MM_Id"];
}
mysql_select_db($database_conexion, $conexion);
$query_EditarMisDatos = sprintf("SELECT * FROM users WHERE users.id=%s", GetSQLValueString($varId_EditarMisDatos, "int"));
$EditarMisDatos = mysql_query($query_EditarMisDatos, $conexion) or die(mysql_error());
$row_EditarMisDatos = mysql_fetch_assoc($EditarMisDatos);
$totalRows_EditarMisDatos = mysql_num_rows($EditarMisDatos);
?>
<?php
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
?>
<?php
if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form2")) {
$updateSQL = sprintf("UPDATE users SET avatar=%s, nombre=%s WHERE id=%s",
GetSQLValueString($_POST['avatar'], "text"),
GetSQLValueString($_POST['nombre'], "text"));
mysql_select_db($database_conexion, $conexion);
$Result1 = mysql_query($updateSQL, $conexion) or die(mysql_error());
$updateGoTo = "index.php";
if (isset($_SERVER['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $updateGoTo));
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="css/estilos.css"/>
<title>Club Deportivo Don Bosco</title>
</head>
<body>
<div id="principal">
<div id="head"><img src="img/don bosco copia.jpg" width="960" height="150" /></div>
<?php include("inc/menu.php"); ?>
<div id="capacategoria">Editar Usuario<span style="float:right"><img src="img/donboscopeque.jpg" width="20" height="26" /></span></div>
<script type="text/javascript">
function subirimagen()
{
self.name = 'opener';
remote = open('subir_avatar.php', 'remote', 'width=400,height=150,location=no,scrollbars=yes,menubars=no,toolbars=no,resizable=yes,fullscreen=no, status=yes');
remote.focus();
}
</script>
<form action="<?php echo $editFormAction; ?>" method="post" name="form2" id="form2">
<table align="center">
<tr valign="baseline">
<td><img src="avatar/<?php echo $row_EditarMisDatos['avatar']; ?>" width="150" height="150" />
<input type="hidden" name="avatar" value="<?php echo $row_EditarMisDatos['avatar']; ?>" size="32" />
<input type="button" name="button" id="button" value="Cambiar Imagen" onclick="javascript:subirimagen();" /></td>
</tr>
<tr valign="baseline">
<td><label for="nombre"></label>
<input type="text" name="nombre" id="nombre" value="<?php echo $row_EditarMisDatos['nombre']; ?>" /></td>
</tr>
<tr valign="baseline">
<td><input type="submit" value="Actualizar Perfil" /></td>
</tr>
</table>
<input type="hidden" name="MM_update" value="form2" />
<input type="hidden" name="id" value="<?php echo $row_EditarMisDatos['id']; ?>" />
</form>
</div>
<div id="footer"></div>
</body>
</html>
<?php
mysql_free_result($EditarMisDatos);
?>
0
Puntos
Puntos
1624
Visitas
Visitas
4
Resp
Resp
Por miguejerez hace 11 años
Developer
Respuesta #1
Por lo que vi por encimita.. Creo que el error está aquí
$updateSQL = sprintf("UPDATE users SET avatar=%s, nombre=%s WHERE id=%s",
GetSQLValueString($_POST['avatar'], "text"),
GetSQLValueString($_POST['nombre'], "text"));Ofreces 3 parámetros %s Pero solo estás dándole 2. CREO que está ahí el problema.10
Puntos
Puntos
Por jose hace 11 años
Master
Respuesta #2
Creo ques eso está bien, porque así lo tengo funcionando en otra web y funciona perfectamente....
0
Puntos
Puntos
Por miguejerez hace 11 años
Developer
Respuesta #3
¿Alguien me puede ayudar con esto?
Gracias!!
Gracias!!
0
Puntos
Puntos
Por miguejerez hace 11 años
Developer
Respuesta #4
te falta un parámetro mas
$updateSQL = sprintf("UPDATE users SET avatar=%s, nombre=%s WHERE id=%s",
GetSQLValueString($_POST['avatar'], "text"),
GetSQLValueString($_POST['nombre'], "text"),
GetSQLValueString($_POST['id'], "int"));0
Puntos
Puntos
Por alber hace 11 años
Admin