Heim  >  Artikel  >  Backend-Entwicklung  >  为什么用var_dump()打印mysqli对象的时候,结果都是null?

为什么用var_dump()打印mysqli对象的时候,结果都是null?

WBOY
WBOYOriginal
2016-06-06 20:21:521443Durchsuche

为什么用var_dump()打印mysqli对象的时候,结果都是null?

代码如下:

<code>$mysqli=new mysqli("localhost:3307","root","","test");
var_dump($mysqli);
print_r($mysqli);
</code>

回复内容:

为什么用var_dump()打印mysqli对象的时候,结果都是null?

代码如下:

<code>$mysqli=new mysqli("localhost:3307","root","","test");
var_dump($mysqli);
print_r($mysqli);
</code>

$mysqli=new mysqli("localhost:3306","root","","test");
var_export($mysqli);
echo "
";
var_dump($mysqli);
echo "
";
print_r($mysqli);

返回结果为mysqli::__set_state(array( 'affected_rows' => NULL, 'client_info' => NULL, 'client_version' => NULL, 'connect_errno' => NULL, 'connect_error' => NULL, 'errno' => NULL, 'error' => NULL, 'field_count' => NULL, 'host_info' => NULL, 'info' => NULL, 'insert_id' => NULL, 'server_info' => NULL, 'server_version' => NULL, 'stat' => NULL, 'sqlstate' => NULL, 'protocol_version' => NULL, 'thread_id' => NULL, 'warning_count' => NULL, ))

查了下 var_export
var_export必须返回合法的php代码, 也就是说,var_export返回的代码,可以直接当作php代码赋值个一个变量。 而这个变量就会取得和被var_export一样的类型的值
但是, 当变量类型为resource的时候, 是无法简单copy复制的,所以, 当var_export的变量是resource类型时, var_export会返回NULL

关于楼主的问题 可能也是类似原因

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn