Когда и почему использовать mysqli fetch row, mysqli fetch object, mysqli fetch assoc, mysqli fetch array [дубликат]
этот вопрос уже есть ответ здесь:
- mysql_fetch_array, mysql_fetch_assoc, mysql_fetch_object 3 ответы
Я понимаю в некотором роде различия между mysqli_fetch_row
, mysqli_fetch_object
, mysqli_fetch_assoc
и mysqli_fetch_array
.
мой вопрос, если они так похожи (если они действительно почти одинаковые как говорят многие темы) что мы должны использовать? Почему мы должны использовать один и есть разница в производительности?
Я читал некоторые люди говорят, никогда не использовать mysqli_fetch_array. Я в замешательстве. Я читаю сейчас некоторые книги PHP, и все примеры включают его. Если это неверно, лучше ли мне прекратить использовать его во время тренировки и использовать что-то еще, что вы могли бы объяснить и порекомендовать?
Я также прочитал, что это равный:
mysqli_fetch_array( $result, MYSQLI_ASSOC ) = mysqli_fetch_assoc( $result )
mysqli_fetch_array( $result, MYSQLI_NUM ) = mysqli_fetch_row( $result )
mysqli_fetch_array ( $result ) = mysqli_fetch_assoc( $result ) + mysqli_fetch_row( $result )
если они равны как концепция, существуют ли различия в производительности? Что мы должны использовать? Различия для лучшей производительности для лучших навыков программирования, которые помогают разработчикам использовать вместе для легкой работы?
я прочитала "Head First PHP & MySQL (руководство для мозга)" и "VISUAL QUICKPRO РУКОВОДСТВО PHP 5 ADVANCED". Они используют разные практики, но авторы ничего о них не объясняют.
I я твердо верю, что эти различия имеют большую причину, и они имеют разное использование и случаи, но я не могу найти, где использовать разные функции и синтаксис.
большое спасибо заранее!
3 ответов
вот некоторые ссылки, которые должны ответить на ваш вопрос: mysqli_fetch_row, mysqli_fetch_assoc, mysqli_fetch_object, mysqli_fetch_array
в целом PHP документации Кажется, хороший ресурс для вас.
эти строки из документации на php.net являются ключевыми:
mysqli_fetch_array () является расширенной версией mysqli_fetch_row() функция. Помимо сохранения данных в числовых индексах массив результатов, функция mysqli_fetch_array () также может хранить данные в ассоциативных индексах, используя имена полей результирующего набора как ключи.
http://www.php.net/manual/en/mysqli-result.fetch-array.php
в случаях, когда два или более столбцов имеют одно и то же имя, единственный способ ссылаться на первое появление этого столбца-числовой индекс. В этих случаях вам нужно mysqli_fetch_row
или mysqli_fetch_array
С MYSQLI_BOTH
или MYSQLI_NUM
в качестве второго аргумента (в процедурном использовании).
mysqli_fetch_assoc($result)
- это просто сокращение для mysqli_fetch_array($result, MYSQLI_ASSOC)
.
mysqli_fetch_object
делает то, что вы ожидаете: Возвращает строку результатов в виде объекта. Использование этого более mysqli_fetch_assoc
вопрос в том, является ли объект или массив лучше представляет обрабатываемую запись. Объект может быть любого класса, который вы хотите - stdClass по умолчанию.
Я не думаю, что есть огромные различия, его только то, что вам нужна только одна функция, чтобы сделать то же самое;)