Foros del Web » Programando para Internet » PHP »

too few arguments Me Muero !!

Estas en el tema de too few arguments Me Muero !! en el foro de PHP en Foros del Web. Esta página q hice en php no funciona y ya me desespere amigos me podrian ayudar, me sale este error: "Warning: sprintf() [function.sprintf]: Too few ...
  #1 (permalink)  
Antiguo 28/10/2008, 11:02
Avatar de Lenin_Germaine  
Fecha de Ingreso: junio-2007
Ubicación: Monterrey, Nuevo León
Mensajes: 82
Antigüedad: 16 años, 9 meses
Puntos: 0
too few arguments Me Muero !!

Esta página q hice en php no funciona y ya me desespere amigos me podrian ayudar, me sale este error:

"Warning: sprintf() [function.sprintf]: Too few arguments in C:\AppServ\www\pcabc\contratos\insertando_contrato \ins_nvo_contrato.php on line 104
Query was empty"

Bueno si alguien sabe porque a veces sale este error o alguna idea solo digamela pero no haga criticas tontas que solo me dan dolor de cabeza mas que ayudar ya que las poquitas veces que ayudo no asisto con problemas sino son soluciones compañeros

Última edición por Lenin_Germaine; 28/10/2008 a las 13:46 Razón: La razon que tiene mis compañeros se los agradezco
  #2 (permalink)  
Antiguo 28/10/2008, 12:13
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: too few arguments Me Muero !!

en realidad... depende de la practicidad e inteligencia del dudoso....

si de verdad quieres que se resuelva un problema debes aprender a identificarlo correctamente... y no esperar a que alguien descubra que pasa....

debes colocar solo lo suficiente, y así mismo... explicar razonablemente como y porque llegaste al error, etc, etc...

te invito, a que coloques el código necesario... el mensaje de error te dice por donde esta localizado... así mismo, te invito a que uses... las etiquetas del http://www.forosdelweb.com/f18/nuevo...geishi-624896/ ... suerte!!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 28/10/2008, 12:26
Avatar de the_web_saint  
Fecha de Ingreso: mayo-2008
Ubicación: localhost/tierra/america/panama
Mensajes: 1.229
Antigüedad: 15 años, 11 meses
Puntos: 43
Respuesta: too few arguments Me Muero !!

Bueno está diciendo algo del sprintf, lo más probables es que no concuerden los parámetros con los formatos de impresión.

Coloca el código a ver si te podemos ayudar de una mejor manera.

Saludos
__________________
..::The Saint::..
El pesimista se queja del viento; el optimista espera que cambie; el realista ajusta las velas.
  #4 (permalink)  
Antiguo 28/10/2008, 12:27
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: too few arguments Me Muero !!

Yo me permito darte algún consejo sobre qué código poner y si ponerlo o no.

0. Como idea general, intenta poner suficiente código como para que se pueda encontrar el error, pero no más del necesario. Si dudas entre poner mucho o poner poco, pon poco que ya te pedirán que pongas lo que sea necesario. Evita poner más de 40-60 líneas de código.

1. Si tienes un error que sabes dónde ocurre, pon esa línea o ese trozo
En el caso que nos ocupa, por ejemplo. El mensaje de error te indica la línea donde está ocurriendo. Lo mínimo sería que pusieras esa línea.

2. Si sospechas que es una línea o una sección, o si sospechas que aunque el error te dé en una línea el problema puede venir de antes, pon esa sección (p. ej. pon la función o la clase donde ocurre, o el trozo de HTML donde pase).

3. Si no tienes ni idea de dónde ocurre el problema, puedes optar por poner tu código en un zip en algún sitio donde se pueda bajar. Si prefieres no hacer eso, lo mejor es que expliques lo mejor que puedas tu problema y te quedes atento porque ya te pedirán ver el código que sea necesario.

Ah, y como dice pateketrueke, utiliza siempre que puedas las etiquetas de resalte de código. Si no sabes cómo usarlas, como mínimo mete tu código entre [code] y [/code]
  #5 (permalink)  
Antiguo 28/10/2008, 12:33
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: too few arguments Me Muero !!

Nota de moderación: eliminé todos los mensajes, que con ediciones y formas no aportaban nada y "ensuciaban" el tema.

Lenin_Germaine, aunque considero pateketrueke sí se pasó, la verdad es que tiene razón. No puedes colocar miles de línea de código para un error así. Por favor valora el tiempo y esfuerzo de otros, no pagas para que se te ayude, entonces ayuda a que se te ayude . Igual invierte tu tiempo en tratar de entender el error que te esta regresando PHP, es BASTANTE claro.

www.php.net/sprintf

¿problemas?, ¿puedes solo mostrar la parte donde ocupas la función con la definición de sus respectivos argumentos?; no se necesita más.

__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #6 (permalink)  
Antiguo 28/10/2008, 13:45
Avatar de Lenin_Germaine  
Fecha de Ingreso: junio-2007
Ubicación: Monterrey, Nuevo León
Mensajes: 82
Antigüedad: 16 años, 9 meses
Puntos: 0
aca anda una pequeñita parte de codigo

lineas donde está el error a ver si se inspiran compañeros porque yo volvi a crear un documento desde cero pero me lanza lo mismo:

Código php:
Ver original
  1. if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  2.   $insertSQL = sprintf("INSERT INTO contratos (IdCliente, Status, Fecha, IdCasa, Firma, Entrega, Operacion, Institucion, Plan, IdPromotor, Desc%, Descuento, Promocion, Eng%, Enganche, Gastos) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
  3.                        GetSQLValueString($_POST['IdCliente'], "int"),
  4.                        GetSQLValueString($_POST['Status'], "text"),
  5.                        GetSQLValueString($_POST['Fecha'], "date"),
  6.                        GetSQLValueString($_POST['IdCasa'], "int"),
  7.                        GetSQLValueString($_POST['Firma'], "date"),
  8.                        GetSQLValueString($_POST['Entrega'], "date"),
  9.                        GetSQLValueString($_POST['Operacion'], "text"),
  10.                        GetSQLValueString($_POST['Institucion'], "text"),
  11.                        GetSQLValueString($_POST['Plan'], "text"),
  12.                        GetSQLValueString($_POST['IdPromotor'], "int"),
  13.                        GetSQLValueString($_POST['Desc'], "double"),
  14.                        GetSQLValueString($_POST['Descuento'], "double"),
  15.                        GetSQLValueString($_POST['Promocion'], "text"),
  16.                        GetSQLValueString($_POST['Eng'], "double"),
  17.                        GetSQLValueString($_POST['Enganche'], "double"),
  18.                        GetSQLValueString($_POST['Gastos'], "double")); <- LINEA 50 DEL ERROR
  #7 (permalink)  
Antiguo 28/10/2008, 13:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: too few arguments Me Muero !!

Too few arguments te esta diciendo que tienes más placeholders (%s) que parámetros a reemplazar, es decir que en tu primer argumento de tu sprintf estas declarando más %s (placeholder) y le estas pasando muy pocos parámetros, un ejemplo:
Código php:
Ver original
  1. echo sprintf("Colores %s, %s, %s", $rojo, $azul ); // te genera el too few arguments
Correcto:
(3 placeholders, 3 parámetros)
Código php:
Ver original
  1. echo sprintf("Colores %s, %s, %s", $rojo, $azul, $verde );

Saludos.
  #8 (permalink)  
Antiguo 28/10/2008, 13:53
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: too few arguments Me Muero !!

dreamweaver ...

Como sea, ¿y esto a qué se debe?

Cita:
INSERT INTO contratos (IdCliente, Status, Fecha, IdCasa, Firma, Entrega, Operacion, Institucion, Plan, IdPromotor, Desc%, Descuento, Promocion, Eng%, Enganche, Gastos)
Esos "%" esta mal estén ahí.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #9 (permalink)  
Antiguo 28/10/2008, 13:53
Avatar de Lenin_Germaine  
Fecha de Ingreso: junio-2007
Ubicación: Monterrey, Nuevo León
Mensajes: 82
Antigüedad: 16 años, 9 meses
Puntos: 0
Sonrisa Respuesta: too few arguments Me Muero !!

Cita:
Iniciado por GatorV Ver Mensaje
Too few arguments te esta diciendo que tienes más placeholders (%s) que parámetros a reemplazar, es decir que en tu primer argumento de tu sprintf estas declarando más %s (placeholder) y le estas pasando muy pocos parámetros, un ejemplo:
Código php:
Ver original
  1. echo sprintf("Colores %s, %s, %s", $rojo, $azul ); // te genera el too few arguments
Correcto:
(3 placeholders, 3 parámetros)
Código php:
Ver original
  1. echo sprintf("Colores %s, %s, %s", $rojo, $azul, $verde );

Saludos.
Hola gracias por aportar ya revise el codigo que puse en este hilo y tiene 16 placeholders(%s) y 16 parametros no se si estoy en lo correcto
o a menos q tome como "extras" los % de los campos titulados eng% y desc% como dice mi comañero jam1138, vere ahorita
  #10 (permalink)  
Antiguo 28/10/2008, 13:58
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: too few arguments Me Muero !!

Evita usar esos % en los nombres de los campos ya que son ilegales, es mejor tener solo campos alfanumericos para tus columnas asi te evitas errores como estos.

Saludos.
  #11 (permalink)  
Antiguo 28/10/2008, 14:02
Avatar de Lenin_Germaine  
Fecha de Ingreso: junio-2007
Ubicación: Monterrey, Nuevo León
Mensajes: 82
Antigüedad: 16 años, 9 meses
Puntos: 0
Respuesta: too few arguments Me Muero !!

Tienen razon mis buenos compañeros "jam1138" y "GatorV" el error está en haber titulado los campos con un "%" al final ya que provoca que se consideren como Placeholder´s, pero que hago si los campos se llaman así porque es tedioso y con riesgos de perder datos en mi tabla si cambio estos nombres a los campos, ¿no habrá una solución donde pueda utilizar estos 2 nombres(Eng% y Desc%) en mi inserción?
  #12 (permalink)  
Antiguo 28/10/2008, 14:05
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Respuesta: too few arguments Me Muero !!

En un tema anterior te dejé el enlace a la documentación.
Código PHP:
printf("En un 90%% de los casos, la solución esta leyendo :-P"); 
En serio deberías pensar en realizar ese esfuerzo para evitar esos caracteres... es una pésima idea.

Suerte
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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.
Tema Cerrado

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 14:29.