SA-MP Forums Archive
Search Accounts from IP - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Search Accounts from IP (/showthread.php?tid=625772)



Search Accounts from IP - aw1337 - 06.01.2017

Hey,

i have a command for searching accounts trough database when I enter the IP, but its always saying "no matches found" (german clientmessage).

For example my Ip is :

46.**.***.**

And then i type /searchdb 46 (only 46), i want all accounts which had the last ip with beginning "46".

Its not working actually, can somebody help :

Код:
ocmd:searchip(playerid, params[])
{
    if(!IsAdmin(playerid, 1))return noaccess
    if(sscanf(params,"s", iptofind))return SendClientMessage(playerid, WEIЯ, "Verwendung: /searchip (IP)");
	new iptofind[16];
	new query[256];
	format(query, sizeof(query), "SELECT last_ip, name FROM spieler WHERE(last_ip LIKE '%s')", iptofind);
	mysql_query(query);
	new rows = mysql_num_rows();
	new tmp[2][128], str[256];
	new count=0;
	for(new i=0; i<rows; i++)
	{
		mysql_retrieve_row();
		mysql_fetch_field_row(tmp[0], "last_ip");
		mysql_fetch_field_row(tmp[1], "name");
		format(str, sizeof(str),"[IP-SUCHE] Es wurde eine Ьbereinstimmung mit %s (%s) gefunden.", tmp[0],tmp[1]);
		SendClientMessage(playerid, ROT, str);
		count++;
	}
	mysql_free_result();
	if(count==0)
	{
		SendClientMessage(playerid, GRAU, "[IP-SUCHE] Es wurden keine Ьbereinstmmungen gefunden.");
	}
	return 1;
}



Re: Search Accounts from IP - oMa37 - 06.01.2017

You should define the IP variable before making the sscanf check with it, Also you have to enter the size in the sscanf check;

PHP код:
new iptofind[16];
if(
sscanf(params,"s[16]"iptofind)) return SendClientMessage(playeridWEIЯ"Verwendung: /searchip (IP)"); 



Re: Search Accounts from IP - aw1337 - 06.01.2017

Not working :/


Re: Search Accounts from IP - Luis- - 06.01.2017

Try this;
Код:
format(query, sizeof(query), "SELECT last_ip, name FROM spieler WHERE last_ip LIKE %%s%, iptofind);



Re: Search Accounts from IP - aw1337 - 06.01.2017

IM getting these errors on line of format :

C:\Users\Safa B\Desktop\Server\gamemodes\gamemode.pwn(3372) : error 037: invalid string (possibly non-terminated string)
C:\Users\Safa B\Desktop\Server\gamemodes\gamemode.pwn(3372) : error 017: undefined symbol "SELECT"
C:\Users\Safa B\Desktop\Server\gamemodes\gamemode.pwn(3372) : error 017: undefined symbol "last_ip"
C:\Users\Safa B\Desktop\Server\gamemodes\gamemode.pwn(3372) : fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase


4 Errors.


Re: Search Accounts from IP - Luis- - 06.01.2017

Код:
format(query, sizeof(query), "SELECT last_ip, name FROM spieler WHERE last_ip LIKE %%s%", iptofind);
You should really check codes before putting them into your script.


Re: Search Accounts from IP - aw1337 - 06.01.2017

Still saying that no matches found,


Re: Search Accounts from IP - Konstantinos - 06.01.2017

You'd also need to escape percent sign. Escape the strings as well.

For format function -> "... LIKE '%q%%'"
For mysql_format function -> "... 'LIKE %e%%'"

You don't use mysql_store_result() function which will results in errors/warnings in mysql logs.
Consider updating to latest versions of the mysql plugin (threaded queries) eventually.


Re: Search Accounts from IP - aw1337 - 06.01.2017

Damn, i dont understand this, can someone do it for me please, i would be very happy, because this is not my code , and somebody done it for me.


Re: Search Accounts from IP - aw1337 - 06.01.2017

Somebody? :/