Есть ли реальная разница между mysqli :: num_rows и mysqli :: disabled_rows при выполнении SELECT - PullRequest
0 голосов
/ 11 декабря 2018

Я искал однозначный ответ на этот вопрос, но мнения в Интернете немного различаются.

Я привык различать использование mysqli :: num_rows и mysqli: disabled_rows для намеченных целей.Тем не менее, я прочитал в руководстве по PHP, что при работе с запросом SELECT_row будет вести себя как num_rows.

Мой реальный вопрос заключается в следующем: есть ли какие-либо недостатки ВСЕГДА в использовании disabled_rows и забывать о num_rows?Если disabled_rows ведет себя как num_rows, какой смысл использовать num_rows?Использование только disabled_rows упростило бы мой код библиотеки БД на PHP.

1 Ответ

0 голосов
/ 11 декабря 2018

Существует два типа записей таблицы, связанных с операциями (не структура таблицы):

1) Select: Когда вы только выбираете данные из таблицы.

2) Update:При обновлении записей таблицы (Insert/Update/Delete) все эти операции будут обновлять / изменять записи таблицы.

Если вы выполните запрос на выборку, num_rows будет работать, поскольку он возвращает количество строк.Но при запуске Insert/Update/Delete запрос affected_rows будет работать, поскольку он возвращает количество строк, затронутых вашим запросом Insert/Update/Delete.

Кроме того, сервер Mysql возвращает затронутые строки при выполнении запроса Insert/Update/Delete.PHP-функция disabled_rows конвертирует этот ответ напрямую с помощью ресурса / объекта соединения.Но когда вы запускаете запрос на выбор, MySQL-сервер возвращает набор результатов.И с помощью этого результата php функция num_rows возвращает result set has how many rows.Для affected_rows мы используем ресурс / объект подключения, а для num_rows мы используем result ресурс / объект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...