mysqli\u result对象中的'type'属性表示什么?

bvjveswy  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(321)

假设我有一个变量:

$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:我如何打印/echo/log/列出一个对象的方法和属性,如果我不能同时打印(在一个命令中打印属性和方法)至少我如何打印一个对象的方法,厌倦了来回访问php.net只是为了检查对象的解剖结构。。
谢谢

r3i60tvu

r3i60tvu1#

这一点最好在以下文档中解释: 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();
ckocjqey

ckocjqey2#

好吧,经过一番研究我发现 [type] => 0 代表 MYSQLI_STORE_RESULT 常量 [type] => 1 代表 MYSQLI_USE_RESULT 常量
有关这些常数行为的更多信息,请查看此答案。
与黑曜石时代的答案相反,这个数字并不代表数组的类型,也不代表它是关联的还是数字的,而是 resultmodequery() 方法

相关问题