假设我有这个变量:
$my_query_object = $previous_connection->query($my_query);
根据php.net的mysqli_result
对象具有几种方法以及这些属性:
int $current_field ;
int $field_count;
array $lengths;
int $num_rows;
很酷..但如果我
print_r($my_query_object)
我在对象描述的末尾得到了这个属性[type] => 0
问题1:
该属性是什么,为什么在mysqli_result
页中没有提及?!
问题2: 如何打印/回显/记录/列出对象的方法和属性 并且,如果我不能同时做这两项工作(在一个命令中打印属性和方法),至少我该如何打印对象的方法,就厌倦了来回php.net来检查对象的结构。 / p>
谢谢
答案 0 :(得分: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();
答案 1 :(得分:1)
好的,经过一番研究,我发现
[type] => 0
代表MYSQLI_STORE_RESULT
常量
[type] => 1
代表MYSQLI_USE_RESULT
常量
有关这些常量的行为的更多信息,请检查此answer。
与 Obsidian Age 的答案相反,该数字并不代表数组的类型,而是关联的还是数字的,而代表的是resultmode
query()
方法