Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Error sprintf() Too few arguments

Estas en el tema de Error sprintf() Too few arguments en el foro de PHP en Foros del Web. Hola gente! Tengo un problema cuando echo a correr este còdigo: Código: $updateSQL = sprintf("UPDATE 3eso1 SET NombreUsuari='%s', Materia='%s', Tipus='%s', Tema='%s', Data='%s', Nota='%s', Comentarios='%s' WHERE ...
  #1 (permalink)  
Antiguo 15/03/2015, 08:26
 
Fecha de Ingreso: marzo-2015
Mensajes: 5
Antigüedad: 9 años, 1 mes
Puntos: 0
Error sprintf() Too few arguments

Hola gente!
Tengo un problema cuando echo a correr este còdigo:

Código:
$updateSQL = sprintf("UPDATE 3eso1 SET NombreUsuari='%s', Materia='%s', Tipus='%s', Tema='%s', Data='%s', Nota='%s', Comentarios='%s' WHERE Id='%s'",
		       GetSQLValueString($_POST['NombreUsuari'], "text"),
                       GetSQLValueString($_POST['Materia'], "text"),
                       GetSQLValueString($_POST['Tipus'], "text"),
                       GetSQLValueString($_POST['Tema'], "text"),
		       GetSQLValueString($_POST['Data'], "text"),
		       GetSQLValueString($_POST['Nota'], "text"),
                       GetSQLValueString($_POST['Comentarios'], "text"));
Cuano lo ejecuto me sale este error:

Código:
Warning: sprintf(): Too few arguments in J:\Server1\serverxaampp\.....\......\.......\......\modificar.php on line 41
Query was empty
En el codigo he probado de canviar %s con ' y sin '. No se que poner=??!?! Alguien me puede ayudar=??
  #2 (permalink)  
Antiguo 15/03/2015, 08:30
 
Fecha de Ingreso: febrero-2015
Mensajes: 61
Antigüedad: 9 años, 2 meses
Puntos: 15
Respuesta: Error sprintf() Too few arguments

a cada %s corresponde a un argumento o parametro

sprintf(" cadena con %s ", arg1 ); <-- 1%s con 1 argumento

sprintf(" cadena con %s %s ", arg1, arg2 ); <-- 2%s con 2 argumento

cuantos %s tienes ... y cuantos argumentos le corresponden por cada %s ??
  #3 (permalink)  
Antiguo 15/03/2015, 08:38
 
Fecha de Ingreso: marzo-2015
Mensajes: 5
Antigüedad: 9 años, 1 mes
Puntos: 0
Respuesta: Error sprintf() Too few arguments

Es un codigo para editar una tabla SQL, cada argumento corresponde a una modificacion de cada dato: Este es el codigo php completo:

Código PHP:
Ver original
  1. $editFormAction = $_SERVER['PHP_SELF'];
  2. if (isset($_SERVER['QUERY_STRING'])) {
  3.   $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
  4. }
  5.  
  6. if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
  7.   $updateSQL = sprintf("UPDATE 3eso1 SET NomUsuari='%s', Materia='%s', Tipus='%s', Tema='%s', Data='%s', Nota='%s', Comentaris='%s' WHERE Id='%s'",
  8.                        GetSQLValueString($_POST['NomUsuari'], "text"),
  9.                        GetSQLValueString($_POST['Materia'], "text"),
  10.                        GetSQLValueString($_POST['Tipus'], "text"),
  11.                        GetSQLValueString($_POST['Tema'], "text"),
  12.                        GetSQLValueString($_POST['Data'], "text"),
  13.                        GetSQLValueString($_POST['Nota'], "text"),
  14.                        GetSQLValueString($_POST['Comentaris'], "text"));
  15.  
  16.   mysql_select_db($database_conexion_libros, $conexion_libros);
  17.   $Result1 = mysql_query($updateSQL, $conexion_libros) or die(mysql_error());
  18.  
  19.   $updateGoTo = "modificar_exitoso.php";
  20.   if (isset($_SERVER['QUERY_STRING'])) {
  21.     $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
  22.     $updateGoTo .= $_SERVER['QUERY_STRING'];
  23.   }
  24.   header(sprintf("Location: %s", $updateGoTo));
  25. }
  26.  
  27. mysql_select_db($database_conexion_libros, $conexion_libros);
  28. $valor = $_GET['Id'];
  29. $query_modificar_consulta = "SELECT * FROM 3eso1 WHERE Id=$valor";
  30. $modificar_consulta = mysql_query($query_modificar_consulta, $conexion_libros) or die(mysql_error());
  31. $row_modificar_consulta = mysql_fetch_assoc($modificar_consulta);
  32. $totalRows_modificar_consulta = mysql_num_rows($modificar_consulta);
  33. ?>
  #4 (permalink)  
Antiguo 15/03/2015, 08:40
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Error sprintf() Too few arguments

Te hace falta pasar el ID en cuestión, la consulta tiene 8 %s y sólo le estás pasando 7 argumentos, exactamente eso es lo que significa: Too few arguments.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: query, sql
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 13:22.