Во-первых, что это за сохранение? Формируй один большой запрос и отправляй, а не флуди кучей мелких запросов.
Хотя запрос сам по себе странный. У тебя каждый раз одна и та же строка будет перезаписываться данными всех слотов и, в итоге, в таблице будут только данные последнего слота.
Во-вторых, всё зависит от того, как ты хранишь данные. Лучше всего создать отдельную таблицу со структурой:
Код:
id | account_id | slot_id | item_id | item_count
При этом, нужно создать индекс по столбцу "account_id", чтоб поиск был быстрым.
Собственно, далее просто делаешь запрос
PHP код:
SELECT * FROM table WHERE account_id = %d ORDER BY slot_id ASC
И выгружаешь. Столбец "slot_id" будет указывать номер ячейки.
А заодно проверяешь, существуют ли в таблице столбцы для всех нужных слотов (просто создай локальный массив, размер которого будет равен количеству слотов, и при загрузке присваивай ячейкам, равным ID слота, единицу. А после загрузки запускай цикл и смотри, все ли ячейки в этом массиве равны единице. Если не все - отправляй запрос на создание недостающих столбцов).
Сохранение лучше делать сразу после изменения данных и сохранять конкретную ячейку.