I got the function get_db_field(fieldname) to work:
PHP Code:
get_db_field(fieldname) {
query = "SELECT * FROM "+level.table+" WHERE `user_name`='"+ self.name +"' LIMIT 1";
mysql_query(level.mysql_connection, query);
r = mysql_store_result(level.mysql_connection);
ret = r;
num = mysql_num_fields(r);
if(num != 0) {
row = mysql_fetch_row(r);
if(isdefined(row)) {
mysql_query(level.mysql_connection, "SELECT `"+fieldname+"` FROM `"+level.table+"` WHERE `user_name`='"+self.name+"' LIMIT 1");
r2=mysql_store_result(level.mysql_connection);
ret = r2;
if(mysql_num_fields(r2) > 0) {
row2=mysql_fetch_row(r2);
if(isdefined(row2)) {
if(isdefined(row2[0])) {
//printconsole("row2="+row2[0]+"\n");
ret = row2[0];
}
}
}
mysql_free_result(r2);
}
}
mysql_free_result(r);
return ret;
}
However, the set_db_field(fieldname, value) still not working: with helps from previous replies, it works OCCASIONALLY.
PHP Code:
set_db_field(fieldname, value)
{
if(isDefined(self.isbot))
return;
query = "SELECT * FROM "+level.table+" WHERE `user_name`='"+ self.name +"' LIMIT 1";
mysql_query(level.mysql_connection, query);
r = mysql_store_result(level.mysql_connection);
num = mysql_num_fields(r);
if(num != 0) {
row = mysql_fetch_row(r);
if(isdefined(row)) {
mysql_query(level.mysql_connection, "UPDATE `"+ level.table +"` SET `"+fieldname+"`='"+value+"' WHERE `user_name` = '"+self.name+"' LIMIT 1");
}
else
mysql_query(level.mysql_connection, "INSERT INTO `"+level.table+"`(`"+fieldname+"`) VALUES ('"+value+"')");
}
else
mysql_query(level.mysql_connection, "INSERT INTO `"+level.table+"`(`"+fieldname+"`) VALUES ('"+value+"')");
mysql_free_result(r);
}
Please help.