26.06.2013, 15:13
Hello. I made a business system for my script, using mysql, and for some reason when I run the server I recieve an error in my phpmyadmin saying "too many connections". After even a day or two, it will show the same thing and never go away unless I uninstall it. How would I go about fixing the "too many connections" error? This happened after adding the loading for businesses. This is the function:
I also have a question about the function. Does this method still work for r7 blueg's mysql? I didn't originally do it this way and I only added this after I got the error the first time. The first way I did it was to loop and create a query for each loop which went to a thread and loaded it. Would this be more efficient? Also, how would I go about increasing connections, and what should the value be judging by my code? (PS: Using wampserver).
Thanks,
Kindred
pawn Код:
stock LoadBusinesses()
{
for(new i = 0; i < MAX_BUSINESSES; i++)
{
new szQuery[600], savingstring[24];
format(szQuery, sizeof(szQuery), "SELECT * FROM businesses WHERE Id = %i", i);
mysql_query(szQuery, THREAD_NO_RESULT, i, iConnectionHandle);
while(mysql_fetch_row_format(szQuery,"|"))
{
mysql_fetch_field_row(savingstring, "Name"); format(BusinessInfo[i][Name], 30, savingstring);
mysql_fetch_field_row(savingstring, "Owner"); format(BusinessInfo[i][Owner], 30, savingstring);
mysql_fetch_field_row(savingstring, "Id"); BusinessInfo[i][Id] = strval(savingstring);
mysql_fetch_field_row(savingstring, "EnterX"); BusinessInfo[i][EnterPos][0] = floatstr(savingstring);
mysql_fetch_field_row(savingstring, "EnterY"); BusinessInfo[i][EnterPos][1] = floatstr(savingstring);
mysql_fetch_field_row(savingstring, "EnterZ"); BusinessInfo[i][EnterPos][2] = floatstr(savingstring);
mysql_fetch_field_row(savingstring, "ExitX"); BusinessInfo[i][ExitPos][0] = floatstr(savingstring);
mysql_fetch_field_row(savingstring, "ExitY"); BusinessInfo[i][ExitPos][1] = floatstr(savingstring);
mysql_fetch_field_row(savingstring, "ExitZ"); BusinessInfo[i][ExitPos][2] = floatstr(savingstring);
mysql_fetch_field_row(savingstring, "Interior"); BusinessInfo[i][Interior] = strval(savingstring);
mysql_fetch_field_row(savingstring, "VirtualWorld"); BusinessInfo[i][VW] = strval(savingstring);
mysql_fetch_field_row(savingstring, "Money"); BusinessInfo[i][Money] = strval(savingstring);
mysql_fetch_field_row(savingstring, "Type"); BusinessInfo[i][Type] = strval(savingstring);
}
new BizName[30]; format(BizName, 24, "%s", BusinessInfo[i][Name]);
strreplace(BizName, '_', ' ');
format(szQuery, sizeof(szQuery), "%s\nBusiness ID: %i\n Owner: %s\nBusiness Type: %s", "New Business", BizName, i, BusinessInfo[i][Owner], GetBusinessType(BusinessInfo[i][Type]));
BusinessInfo[i][TextLabel] = CreateDynamic3DTextLabel(szQuery, COLOR_YELLOW, BusinessInfo[i][EnterPos][0], BusinessInfo[i][EnterPos][1], BusinessInfo[i][EnterPos][2], 20, INVALID_PLAYER_ID, INVALID_VEHICLE_ID, 0, 0, 0, -1, 100.0);
BusinessInfo[i][Pickup] = CreateDynamicPickup(1318, 1,BusinessInfo[i][EnterPos][0],BusinessInfo[i][EnterPos][1],BusinessInfo[i][EnterPos][2],0,0,-1,100);
printf("Business ID: %i was loaded", i);
}
return 1;
}
Thanks,
Kindred