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