Я сталкиваюсь с проблемами, зная, когда и что вызывать после mysqli_stmt_execute
Как вы знаете, когда звонить
mysqli_stmt_bind_result()
сообщает mysqli, какую переменную вы хотите заполнить, когда вы извлекаете строку, но она еще не fetch()
. Это необходимо вызвать один раз, прежде чем вы вызовете выборку.
mysqli_stmt_store_result()
устанавливает необязательное поведение, так что клиент загружает все строки, когда вы fetch()
первую строку, и кэширует весь набор результатов в клиенте (то есть PHP). Последующие вызовы fetch()
будут просто перебирать этот набор данных с кэшированием с клиентом. Но установка этого параметра сама по себе также не вызывает fetch (). Эта функция полностью необязательна.
mysqli_stmt_fetch()
возвращает следующую строку в наборе результатов и заставляет ее сохранять в связанной переменной. Вы должны вызвать эту функцию в цикле для каждой строки результирующего набора. То есть, пока выборка не вернет false.
Процесс запроса базы данных SQL содержит следующие шаги:
Функции, о которых вы спрашиваете, имеют эти роли в этом процессе:
fetch()
эти переменные содержат данные результата; т.е. скажите PHP, какие переменные он должен поместить результат в