CMD:findnumber(playerid, params[])
{
if(LoggedIn[playerid] == 0) return SendClientMessage(playerid, COLOUR_GREY, "You must be logged in to use this command.");
if(Phonebook[playerid] == 0) return SendClientMessage(playerid, COLOUR_GREY, "You do not have a phonebook, you can buy one from a store.");
new player[24],string[128], query[256], result[24];
if(sscanf(params, "s[24]",player)) return SendClientMessage(playerid, COLOUR_GREY, "Usage: /findnumber [player name]");
format(query, sizeof(query), "SELECT `Number` FROM `accounts` WHERE `PlayerName` LIKE '%s%%%'", player);
mysql_query(query); // No query line
mysql_store_result(); // "Error nothing to store"
new rows = mysql_num_rows();
while(mysql_retrieve_row()) //this will be running until all rows are processed
{
mysql_fetch_field(rows, result);
}
new msnum = mysql_fetch_int();
if(rows > 0)
{
format(string, sizeof(string), "%s - %d",result, msnum);
SendClientMessage(playerid, COLOUR_WHITE, string);
}
if(rows == 0)
{
SendClientMessage(playerid, COLOUR_GREY, "There was no numbers found with that name.");
}
mysql_free_result();
return 1;
}
CMD:findnumber(playerid, params[])
{
if(LoggedIn[playerid] == 0) return SendClientMessage(playerid, COLOUR_GREY, "You must be logged in to use this command.");
if(Phonebook[playerid] == 0) return SendClientMessage(playerid, COLOUR_GREY, "You do not have a phonebook, you can buy one from a store.");
new player[24],string[128], query[256], result[24];
if(sscanf(params, "s[24]",player)) return SendClientMessage(playerid, COLOUR_GREY, "Usage: /findnumber [player name]");
format(query, sizeof(query), "SELECT `Number` FROM `accounts` WHERE `PlayerName` LIKE '%%%s%%'", player);
mysql_query(query); // No query line
mysql_store_result(); // "Error nothing to store"
new rows = mysql_num_rows();
while(mysql_retrieve_row()) //this will be running until all rows are processed
{
mysql_fetch_field(1, result);
}
new msnum = mysql_fetch_int();
if(rows > 0)
{
format(string, sizeof(string), "%s - %d",result, msnum);
SendClientMessage(playerid, COLOUR_WHITE, string);
}
if(rows == 0)
{
SendClientMessage(playerid, COLOUR_GREY, "There was no numbers found with that name.");
}
mysql_free_result();
return 1;
}
The first parameter is the field index, which - in your case - should always be 0 for the first field (a.k.a. column).
|
[23:48:55] CMySQLHandler::Query(SELECT `Number` FROM `accounts` WHERE `PlayerName` LIKE '%Grant%') - Successfully executed.
[23:48:55] >> mysql_store_result( Connection handle: 1 )
[23:48:55] CMySQLHandler::StoreResult() - Result was stored.
[23:48:55] >> mysql_num_rows( Connection handle: 1 )
[23:48:55] CMySQLHandler::NumRows() - Returned 2 row(s)
[23:48:55] >> mysql_retrieve_row( Connection handle: 1 )
[23:48:55] >> mysql_fetch_field( Connection handle: 1 )