[AYUDA] Warning: sprintf() [function.sprintf]: Too few arguments

Iniciado por Rudy21, 30 Julio 2008, 08:27 AM

0 Miembros y 1 Visitante están viendo este tema.

Rudy21

Holas

pues tengo ese errorsillo

estoy haciendo un buscador

y me da ese error

al hacer esto:

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:

SELECT * FROM enlaces WHERE enlance LIKE '%tycoon%'

ayuda please!!


Ertai

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.
Si la felicidad se comprara, entonces el dinero sería noble.


void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}

Rudy21

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:

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


Ertai

Haber, leete mejor mi respuesta y veras que no tienes que usar sprintf en este caso.

Te vale esto:

Código (php) [Seleccionar]
mysql_select_db($database_Conecta, $Conecta);
$query_enlaces = "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 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.
Si la felicidad se comprara, entonces el dinero sería noble.


void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}