Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: Rudy21 en 30 Julio 2008, 08:27 am



Título: [AYUDA] Warning: sprintf() [function.sprintf]: Too few arguments
Publicado por: Rudy21 en 30 Julio 2008, 08:27 am
Holas

pues tengo ese errorsillo

estoy haciendo un buscador

y me da ese error

al hacer esto:

Código:
mysql_select_db($database_Conecta, $Conecta);
$query_enlaces = sprintf("SELECT * FROM enlaces where enlance Like '%".$_GET['bmq']."%'");
$enlace = mysql_query($query_enlaces, $Conecta) or die(mysql_error());

y si le kito los % % funciona perfecto

incluso si cambio $_GET['bmq'] por "TYCOON" u otra palabra da ese error

si le kito los %,% funciona bien

pero no me sirve si no busca


pero si ese codigo lo pongo en phpMyAdmin

funciona PERFECTO:

Código:
 SELECT * FROM enlaces WHERE enlance LIKE '%tycoon%'

ayuda please!!


Título: Re: Warning: sprintf() [function.sprintf]: Too few arguments
Publicado por: Ertai en 30 Julio 2008, 15:18 pm
El código que has puesto dará un error de sintaxis en la línea 2.

No cierras bien el $_GET i concatenas mal, aparte de que falta un % para que sea como la que pones en el phpMyAdmin.

Creo que estas liando a la función sprintf, simplemente por el hecho de usar %.

Esto no es C puro, es PHP, puedes obviar la función y concatenar "a pelo".

Saludos.


Título: Re: Warning: sprintf() [function.sprintf]: Too few arguments
Publicado por: Rudy21 en 30 Julio 2008, 15:22 pm
Hummm

eso que me comentas jeje

fue error mio al momento de copiar el code

incluso ya lo intente sin GET

así es como esta actualment:

Código:
mysql_select_db($database_Conecta, $Conecta);
$query_enlaces = sprintf("SELECT * FROM enlaces where enlance Like '%Airport Tycoon%'");
$enlace = mysql_query($query_enlaces, $Conecta) or die(mysql_error());
$row_enlace = mysql_fetch_assoc($enlace);
$totalRows_enlace = mysql_num_rows($enlace);

y me da ese error

AYUDA!!!

P.D ya correji eso de mi primer post


Título: Re: [AYUDA] Warning: sprintf() [function.sprintf]: Too few arguments
Publicado por: Ertai en 30 Julio 2008, 15:51 pm
Haber, leete mejor mi respuesta y veras que no tienes que usar sprintf en este caso.

Te vale esto:

Código
  1. mysql_select_db($database_Conecta, $Conecta);
  2. $query_enlaces = "SELECT * FROM enlaces where enlance Like '%Airport Tycoon%'";
  3. $enlace = mysql_query($query_enlaces, $Conecta) or die(mysql_error());
  4. $row_enlace = mysql_fetch_assoc($enlace);
  5. $totalRows_enlace = mysql_num_rows($enlace);

Y si quisieras usar sprintf, piensa que por cada % que uses tienes que pasarle un argumento, como en C y si NO quieres que esto pase, entonces escapa el caracter %.

Si usas una SQL sin el caracter % verás que funciona. Aunque para que quieres usar sprintf?

Saludos.