Мне было интересно, нужно ли мне позвонить $stmt->free_result()
после того, как я сохранил его результат с $stmt->store_result()
? Могу ли я просто позвонить $stmt->close()
на конец?Должен ли я освободить mysql после его сохранения?
Причина, почему я спрашиваю это потому, что, когда я называю $stmt->num_rows
Я назвать $stmt->store_result()
как сказал здесь: http://www.php.net/manual/en/mysqli-stmt.num-rows.php, но они не называют $stmt->free_result()
в их примере. Однако, на $stmt->store_result()
они делают: http://www.php.net/manual/en/mysqli-stmt.store-result.php.
Увеличивает ли производительность, если я освобождаю результат и закрываю его? – Rihards
Наверное, нет. Закрытие эффективно уменьшает результат. Из руководства: «mysqli_stmt_close() также освобождает дескриптор инструкции. Если текущий оператор имеет ожидающие или непрочитанные результаты, эта функция отменяет их, чтобы можно было выполнить следующий запрос». Даже тогда вам не нужно * явно освобождать или закрывать результат. Как только переменная, содержащая результат, выходит за пределы области видимости или отменяется, дескриптор инструкции и все прикрепленные к нему исчезают. – Charles