This is how I would have done it.
Code:
public client_connect(id) {
new steamid[32]
get_user_authid(id,steamid,31)
new name[32]
get_user_name(id,name,31)
new ip[64]
get_user_ip(id,ip,63,1)
//check for user
userexists = dbi_query(dbc,"SELECT * FROM userinfo WHERE steamid = '%s'",steamid)
if (dbi_num_rows(result) < 1) { //first time, create new entry
result = dbi_query(dbc,"INSERT INTO userinfo (name,steamid,ip,num) values ('%s','%s','%s',1)",name,steamid,ip)
dbi_free_result(result)
}else{ //Record exists
result = dbi_query(dbc,"UPDATE userinfo SET num=num+1 WHERE steamid = '%s'",steamid)
dbi_free_result(result)
}
dbi_free_result(userexists)
return PLUGIN_HANDLED
}
and the 48 comment is about this:
you declare the ip as "new ip[64]"
but you create a db field that is "`ip` VARCHAR( 48 ) NOT NULL,"