Я создал простой класс MySQLi для проекта, над которым я работаю, чтобы упростить и упростить извлечение и передачу в БД. ( также для более подробного ознакомления с ООП в PHP )
Проблема, с которой я продолжаю сталкиваться, состоит в том, чтобы сделать ее максимально эффективной. Я пытаюсь закрыть / освободить каждый запрос / утверждение / набор результатов. При этом я получаю много ошибок:
Warning: mysqli_result::close(): Couldn't fetch mysqli_result
Я думаю, что получаю вышесказанное специально, потому что он пытается закрыть запрос дважды подряд.
В настоящее время мой класс может делать подготовленные и неподготовленные заявления. Поэтому я пытаюсь закрыть запросы / заявления в 2 местах. При проверке утверждения я проверяю, подготовил ли я уже утверждение, и если да, мне нужно закрыть старое, прежде чем создавать новое и, наконец, в деструкторе класса.
Я понимаю, что мог бы просто закрыть запрос / оператор после того, как извлек и сохранил результат, но это кажется грязным по нескольким причинам. Для одного это исключает возможность повторного использования подготовленного заявления. Так же как и запретить мне получать некоторую информацию о запросе после его выполнения, такую как затронутые строки и т. П.
Я знаю, что могу просто хранить эту информацию для каждого запроса, а что нет, но похоже, что правильным решением этой проблемы было бы закрыть / освободить запрос / оператор, если мне нужно сделать еще один, и снова в конце сценария.
Я попытался осмотреться и прочесть, как мне правильно справиться с этой задачей, но я ничего не смог придумать.
Итак, мой вопрос, есть ли способ проверить, нужно ли закрыть или освободить запрос или утверждение? Или есть лучший способ решить эту проблему?
Спасибо за любую помощь или понимание, которое может предложить каждый.