Что представляет собой свойство type в объекте mysqli_result?

0

скажем, у меня есть эта переменная:

$my_query_object = $previous_connection->query($my_query);

что объект mysqli_result соответствии с php.net имеет несколько методов и эти свойства:

int $current_field ;
int $field_count;
array $lengths;
int $num_rows; 

круто.. но если я

print_r($my_query_object)

Я получаю это свойство [type] => 0 в конце описания объекта

Вопрос 1: что это за свойство и почему он не упоминался на странице mysqli_result?!

Вопрос 2: как я могу печатать/эхо/лог/перечислять МЕТОДЫ И СВОЙСТВА объекта, и если я не могу сделать оба вместе (свойства и методы печати в одной команде), по крайней мере, как я могу напечатать методы объекта, устал от того, чтобы идти туда и обратно на php.net, чтобы проверить анатомию объекта.

Спасибо

Теги:
mysqli

2 ответа

1
Лучший ответ

Хорошо, после небольшого исследования я обнаружил, что

[type] => 0 представляет константу MYSQLI_STORE_RESULT
[type] => 1 представляет константу MYSQLI_USE_RESULT
для получения дополнительной информации о поведении этих констант проверьте этот ответ.

В отличие от ответа Obsidian Age число не представляет тип массива и не является ли оно ассоциативным или числовым, а resultmode метода query()

  • 0
    Это хорошее расследование. Там нет ничего плохого в принятии вашего собственного ответа
  • 0
    никогда не думал, что это приемлемо, но старший разработчик знает лучше :)
Показать ещё 2 комментария
2

Это лучше всего объяснить в документах для fetch-all:

resulttype

Этот необязательный параметр является константой, указывающей, какой тип массива должен быть получен из данных текущей строки. Возможными значениями для этого параметра являются константы MYSQLI_ASSOC, MYSQLI_NUM или MYSQLI_BOTH.

Чтобы получить свойства объекта, вы можете использовать get_object_vars():

class foo {
   private $a;
   public $b = 1;
   public $c;
   private $d;
   static $e;

   public function test() {
       var_dump(get_object_vars($this));
   }
}

$test = new foo;
var_dump(get_object_vars($test));

$test->test();

Ещё вопросы

Сообщество Overcoder
Наверх
Меню