no consigo realizar esta consulta mysql
#1

aqui les dejo el comando, el problema es que no tira resultados y tampoco errores.
PHP код:
CMD:colpremium(playeridparams[])
{
    
/* == ESTRUCTURA CONSULTA == */
    
g_Consulta[playerid] = "";
    
strcat(g_Consulta[playerid], "SET @precioColor := 0, @ID = -1;");
    
strcat(g_Consulta[playerid], "SELECT @ID := `col_id` AS colorID, `col_nombre` AS colorNombre, `col_html` AS colorHTML,");
    
strcat(g_Consulta[playerid], sprintf("if((SELECT servidor_Compra.art_id FROM servidor_Compra INNER JOIN servidor_Color ON servidor_Compra.art_id = servidor_Color.col_id WHERE servidor_Compra.`usu_id` = %d"infJugador[playerid][ID]));
    
strcat(g_Consulta[playerid], " AND servidor_Color.col_id = @ID), @precioColor := 'COMPRADO', @precioColor := (SELECT `col_precio` FROM servidor_Color WHERE `col_id` = @ID)) As colorPrecio FROM servidor_Color WHERE `col_precio` != 0");
    
mysql_query(hBDg_Consulta[playerid]);
    
/* == AQUI TERMINA LA CONSULTA ==*/
    
if(cache_num_rows() == 0)
        return 
SendClientMsg(playeridCOLOR_ROJO"*""Se ha producido un error, si este persiste por favor comunicar a travйs de /reportar bug [Descripciуn]");
    new 
f_InfDialogo[500] = "Nombre del Color\tPrecio"f_colNombre[30], f_colHTML[7], f_colPrecio[16];
    for(new 
0cache_num_rows(); i++)
    {
        
cache_get_value_name(i"colorNombre"f_colNombre);
        
cache_get_value_name(i"colorHTML"f_colHTML);
        
cache_get_value_name(i"colorPrecio"f_colPrecio);
        
strcat(f_InfDialogosprintf("\n{%s}%s\t"COLOR_SIMBOLO_USD"${FFFFFF}%s"f_colHTMLf_colNombref_colPrecio));
    }
    
ShowPlayerDialog(playeridDIALOGO_COLPREMIUM_MENUDIALOG_STYLE_TABLIST_HEADERS"Menъ de Colores < Premium >"f_InfDialogo"Aceptar""Salir");
    return 
true;

Cuando se utiliza el comando, se queda en el mensaje que coloque al haber 0 filas.
pawn Код:
if(cache_num_rows() == 0)
        return SendClientMsg(playerid, COLOR_ROJO, "*", "Se ha producido un error, si este persiste por favor comunicar a travйs de /reportar bug [Descripciуn]");
Nota: el valor de la variable es suficientemente grande.
Gracias.
Reply
#2

Si no devuelve nada es porque estбs haciendo mal la consulta (no me refiero a un error de sintaxis, sino que estб interpretando algo diferente a lo que vos queres que haga), revisa bien o prueba la consulta directamente en la base de datos hasta que devuelva lo que quieres y luego pasas el cуdigo al GM
Reply
#3

Claro que lo he probado en la consola SQL (phpmyadmin) y me funciona bien, tambien he colocado un printf que me tire el texto de la consulta, lo copio y pego a la consola sql y funciona perfectamente, y me tira los datos que quiero.

Solo con el pawn es que no encuentro por que nose realiza o el por que no me da datos.

EDIT: anteriormente me funcionaba pero era una consulta que no preguntaba si el usuario lo habia comprado, simplemente decia el precio, y este funcionaba. y lo unico diferente de este y el anterior son las variables y la condicional en la consulta, pero realmente quiero que tire el resultado como ahorita(phpmyadmin) ya que es lo que necesito y por esa razon no lo he modificado como el anterior.
Reply
#4

Por alguna razуn pense que las variables se declaraban con el SET pero lo he quitado (la primera linea, donde seteo el valor) y me funciono.

Pueden cerrar
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)