I'm using this:
PHP Code:
level.mysql = mysql_reuse_connection();
if(!isdefined(level.mysql))
{
make_global_mysql(host, user, pass, db, port);
}
level.mysql_wrapper = ::mysql_wrapper;
and this as helper:
PHP Code:
mysql_wrapper(query, saveResults)
{
if(!isDefined(saveResults))
saveResults = false;
mysql = level.mysql;
if(!isDefined(mysql))
return undefined;
if(getcvarint("show_mysql") == 1)
printf("mysql_query:" + query + "\n");
result = mysql_query(mysql, query);
resettimeout();
if(result)
return undefined;
if(saveResults)
return mysql_store_result(mysql);
return undefined;
}
make_global_mysql(host, user, pass, db, port)
{
mysql = mysql_init();
ret = mysql_real_connect(mysql, host, user, pass, db, port);
if(!ret)
{
printf("errno=" + mysql_errno(mysql) + " error= " + mysql_error(mysql) + "\n");
mysql_close(mysql);
return;
}
level.mysql = mysql;
}
stripstring(string)
{
return mysql_real_escape_string(level.mysql, string);
}
Then I can just:
PHP Code:
result = [[level.mysql_wrapper]]("SELECT mapid FROM mapids WHERE mapname = '" + stripstring(mapname) + "'", true);
if(isdefined(result))
{
if(mysql_num_rows(result))
{
row = mysql_fetch_row(result);
level.mapid = int(row[0]);
}
mysql_free_result(result);
}